export interface CreateSiteData { name: string; slug: string; domain?: string; subdomain?: string; description?: string; templateId: string; ownerId: string; } export interface UpdateSiteData { name?: string; description?: string; domain?: string; subdomain?: string; status?: "DRAFT" | "ACTIVE" | "INACTIVE" | "ARCHIVED"; isPublished?: boolean; settings?: Record; templateData?: Record; } export interface SiteListOptions { ownerId?: string; status?: "DRAFT" | "ACTIVE" | "INACTIVE" | "ARCHIVED"; search?: string; page?: number; pageSize?: number; sortBy?: "name" | "createdAt" | "updatedAt"; sortOrder?: "asc" | "desc"; } export interface Site { id: string; name: string; slug: string; domain?: string | null; subdomain?: string | null; description?: string | null; templateId: string; templateData?: Record | null; status: "DRAFT" | "ACTIVE" | "INACTIVE" | "ARCHIVED"; isPublished: boolean; publishedAt?: Date | null; ownerId: string; settings?: Record | null; createdAt: Date; updatedAt: Date; _count?: { siteSections: number; pages: number; assets: number; siteUsers: number; }; } export declare class SiteApiService { getSites(options?: SiteListOptions): Promise<{ sites: Site[]; totalCount: number; page: number; pageSize: number; totalPages: number; }>; getSite(siteId: string, includeRelations?: boolean): Promise; getSiteBySlug(slug: string): Promise; getSiteByDomain(domain: string): Promise; createSite(data: CreateSiteData): Promise; updateSite(siteId: string, data: UpdateSiteData): Promise; deleteSite(siteId: string): Promise; publishSite(siteId: string): Promise; unpublishSite(siteId: string): Promise; cloneSite(siteId: string, newData: { name: string; slug: string; ownerId: string; }): Promise; getSiteStats(ownerId?: string): Promise<{ total: number; published: number; draft: number; active: number; inactive: number; byTemplate: Record; }>; searchSites(query: string, ownerId?: string, limit?: number): Promise<{ id: string; name: string; slug: string; domain?: string | null; }[]>; } export declare const siteApiService: SiteApiService; export declare const createSite: (data: CreateSiteData) => Promise; export declare const getSites: (options?: SiteListOptions) => Promise<{ sites: Site[]; totalCount: number; page: number; pageSize: number; totalPages: number; }>; export declare const getSite: (id: string, includeRelations?: boolean) => Promise; export declare const getSiteBySlug: (slug: string) => Promise; export declare const getSiteByDomain: (domain: string) => Promise; export declare const updateSite: (id: string, data: UpdateSiteData) => Promise; export declare const deleteSite: (id: string) => Promise; export declare const publishSite: (id: string) => Promise; export declare const unpublishSite: (id: string) => Promise; export declare const cloneSite: (id: string, newData: Parameters[1]) => Promise; export declare const getSiteStats: (ownerId?: string) => Promise<{ total: number; published: number; draft: number; active: number; inactive: number; byTemplate: Record; }>; export declare const searchSites: (query: string, ownerId?: string, limit?: number) => Promise<{ id: string; name: string; slug: string; domain?: string | null; }[]>; //# sourceMappingURL=site-api.d.ts.map