import { type Asset, type TemplateLocale, type Page, type Seo } from '../../../../packages/shared-schema/dist/index.js'; import type { AppConfig } from '../config.js'; import type { AppDatabase } from '../db/client.js'; import { type CustomHtmlAssetUpload } from './page-assets.js'; import { TemplateRegistry } from './template-registry.js'; type CreatePageForBusinessInput = { assets?: Asset[]; businessId: string; title: string; slug?: string; templateId: string; themeId?: string; draftSlots?: Record; draftSeo?: Partial; }; type UpdatePageDraftInput = { assets?: Asset[]; title?: string; slug?: string; themeId?: string; draftSlots?: Record; draftSeo?: Partial; }; type CreateCustomHtmlPageFromFileInput = { businessId: string; title: string; slug: string; filePath: string; css?: string; themeId?: string; draftSeo?: Partial; }; type UpdateCustomHtmlPageFromFileInput = { filePath: string; title?: string; slug?: string; css?: string; themeId?: string; draftSeo?: Partial; }; type CreateCustomHtmlPageImportInput = { businessId: string; title: string; slug: string; document: string; css?: string; themeId?: string; draftSeo?: Partial; assetUploads: CustomHtmlAssetUpload[]; }; type UpdateCustomHtmlPageImportInput = { title?: string; slug?: string; document: string; css?: string; themeId?: string; draftSeo?: Partial; assetUploads: CustomHtmlAssetUpload[]; }; export declare class PageService { private readonly db; private readonly config; private readonly templateRegistry; constructor(db: AppDatabase, config: AppConfig, templateRegistry: TemplateRegistry); private readLocalHtmlFile; private getPageRowOrThrow; private loadPageOrThrow; private prepareDraftUpdate; private persistDraftUpdate; getPageUrls(businessSlug: string, pageSlug: string): { previewUrl: string; publishedUrl: string; }; listPages(businessId: string): Promise; getPage(pageId: string): Promise; getPageByBusinessAndSlug(businessId: string, pageSlug: string): Promise; getPublishedPageByBusinessAndSlug(businessId: string, pageSlug: string): Promise; createPage(input: CreatePageForBusinessInput, locale?: TemplateLocale): Promise; updatePage(pageId: string, input: UpdatePageDraftInput, locale?: TemplateLocale): Promise; createCustomHtmlPageFromFile(input: CreateCustomHtmlPageFromFileInput, locale?: TemplateLocale): Promise; createCustomHtmlPageImport(input: CreateCustomHtmlPageImportInput, locale?: TemplateLocale): Promise; updateCustomHtmlPageFromFile(pageId: string, input: UpdateCustomHtmlPageFromFileInput, locale?: TemplateLocale): Promise; updateCustomHtmlPageImport(pageId: string, input: UpdateCustomHtmlPageImportInput, locale?: TemplateLocale): Promise; publishPage(pageId: string, businessSlug: string, locale?: TemplateLocale): Promise<{ page: Page; publishedUrl: string; }>; unpublishPage(pageId: string): Promise; deletePage(pageId: string): Promise; listPublishedRoutes(): Promise>; } export {};