package app

import (
	"context"
	"net/url"
	"time"

	"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
)

type TWService interface {
	GetOpenServers(ctx context.Context, baseURL *url.URL) (domain.BaseServers, error)
	GetServerConfig(ctx context.Context, baseURL *url.URL) (domain.ServerConfig, error)
	GetUnitInfo(ctx context.Context, baseURL *url.URL) (domain.UnitInfo, error)
	GetBuildingInfo(ctx context.Context, baseURL *url.URL) (domain.BuildingInfo, error)
	GetTribes(ctx context.Context, baseURL *url.URL) (domain.BaseTribes, error)
	GetPlayers(ctx context.Context, baseURL *url.URL) (domain.BasePlayers, error)
	GetVillages(ctx context.Context, baseURL *url.URL) (domain.BaseVillages, error)
	GetEnnoblements(ctx context.Context, baseURL *url.URL, since time.Time) (domain.BaseEnnoblements, error)
}
