import { GeneratedArtifacts } from "../lib/generated-artifacts.js"; import type { PageWithBody } from "../templates/llms/llmsFull.js"; import { SecureSourceFs } from "./secure-source-fs.js"; export declare class PublicAssetManager { private readonly rootDir; private readonly outputDir; private readonly artifacts; private readonly sourceFs; constructor(rootDir: string, outputDir: string, artifacts: GeneratedArtifacts, sourceFs: SecureSourceFs); private outputPath; publicOutputFilePath(relativePath: string): string; copyRegularPublicFile(sourcePath: string, destPath: string): Promise; private assertNotTrackedIconFile; copyPublicFiles(): Promise; handlePublicFileChange(filePath: string, restoreGeneratedArtifacts: () => Promise): Promise; handlePublicFileDelete(filePath: string, copyCurrentSource: () => Promise, restoreGeneratedArtifacts: () => Promise): Promise; findSourcePublicAsset(relativePath: string): Promise; writePublicAggregate(relativePath: string, content: string): Promise; syncMcpManifest(baseUrl: string | null, siteName: string): Promise; syncLlmsPageFiles(pages: PageWithBody[], baseUrl: string | null): Promise; }