import type { PageData } from '@dosgato/templating'; import { BaseService } from '@txstate-mws/graphql-server'; import { type Site, type SiteFilter, DosGatoService, SiteResponse, type UpdateSiteManagementInput, type CreatePageExtras, type Organization, LaunchState } from '../internal.js'; export declare class SiteServiceInternal extends BaseService { find(filter?: SiteFilter): Promise; findById(siteId: string): Promise; findByName(siteName: string): Promise; findByOrganization(org: Organization, filter?: SiteFilter): Promise; findByTemplateId(templateId: string, atLeastOneTree?: boolean): Promise; findByPagetreeId(pagetreeId: string): Promise; findByOwnerInternalId(ownerInternalId: number, filter?: SiteFilter): Promise; findByManagerInternalId(managerInternalId: number, filter?: SiteFilter): Promise; findByLaunchUrl(launchUrl: string): Promise; } export declare class SiteService extends DosGatoService { raw: SiteServiceInternal; postFilter(sites: Site[], filter?: SiteFilter): Site[]; find(filter?: SiteFilter): Promise; findById(siteId: string): Promise; findByOrganization(org: Organization, filter?: SiteFilter): Promise; findByTemplateId(templateId: string, atLeastOneTree?: boolean): Promise; findByPagetreeId(pagetreeId: string): Promise; findByOwnerInternalId(ownerInternalId: number, filter?: SiteFilter): Promise; findByManagerInternalId(managerInternalId: number, filter?: SiteFilter): Promise; create(name: string, data: PageData, validateOnly?: boolean, extra?: CreatePageExtras): Promise; rename(siteId: string, name: string, validateOnly?: boolean): Promise; setLaunchURL(siteId: string, host: string | undefined, path: string | undefined, enabled?: LaunchState, validateOnly?: boolean): Promise; updateSiteManagement(siteId: string, args: UpdateSiteManagementInput, validateOnly?: boolean): Promise; delete(siteId: string): Promise; undelete(siteId: string): Promise; mayView(site: Site): boolean; mayViewForEdit(site: { id: string; }): boolean; mayViewManagerUI(): boolean; mayViewDashboard(site: Site): boolean; mayAudit(site: Site): boolean; mayCreate(): boolean; mayLaunch(site: Site): boolean; mayRename(site: Site): boolean; mayManageGovernance(site: Site): boolean; mayManageState(site: Site): boolean; mayDelete(site: Site): boolean; mayUndelete(site: Site): boolean; }