import { type PageData } from '@dosgato/templating'; import type { Queryable } from 'mysql2-async'; import { Site, type SiteFilter, type VersionedService, type UpdateSiteManagementInput, type CreatePageExtras, LaunchState, type DGContext } from '../internal.js'; export declare function getSites(filter?: SiteFilter): Promise; export declare function getSitesByTemplate(templateIds: string[], atLeastOneTree?: boolean): Promise<{ key: string; value: Site; }[]>; export declare function getSitesByOwnerInternalId(ownerInternalIds: number[]): Promise; export declare function getSitesByManagerInternalId(managerInternalIds: number[], filter?: SiteFilter): Promise<{ key: any; value: Site; }[]>; export declare function getSiteIdByLaunchUrl(launchUrl: string): Promise; export declare function siteNameIsUnique(name: string): Promise; export declare function createSite(versionedService: VersionedService, userId: string, name: string, data: PageData & { legacyId?: string; }, extra?: CreatePageExtras): Promise; export declare function renameSite(site: Site, name: string, currentUserInternalId: number): Promise; export declare function setLaunchURL(site: Site, host: string | undefined, path: string | undefined, enabled: LaunchState, currentUserInternalId: number): Promise; export declare function updateSiteManagement(site: Site, args: UpdateSiteManagementInput, currentUserInternalId: number): Promise; export declare function removeSiteManager(site: Site, userInternalId: number, currentUserInternalId: number, tdb?: Queryable): Promise; export declare function deleteSite(site: Site, currentUserInternalId: number): Promise; export declare function undeleteSite(site: Site): Promise; export declare function duplicateSite(siteId: string, newName: string, versionedService: VersionedService, userId: string, ctx: DGContext): Promise;