import type { Site, SiteStats, UpdateSitePayload } from "@/domain/entities/site";
import type { BackendPaginatedData, PaginationQueryParams } from "@/shared/types";

export interface SiteRepository {
  findAll(params: PaginationQueryParams): Promise<BackendPaginatedData<Site>>;
  findById(id: number): Promise<Site>;
  update(id: number, data: UpdateSitePayload): Promise<Site>;
  delete(id: number): Promise<void>;
  getStats(): Promise<SiteStats>;
}
