import type { RouteArtifact } from "../lib/generated-artifacts.js"; import type { OperationDescriptor } from "../lib/openapi-types.js"; import type { MDXFile, PageMeta, SectionConfig } from "../lib/types.js"; import type { GeneratedPageCommit } from "./generated-page-publisher.js"; import { GeneratedRouteManager } from "./generated-route-manager.js"; import { type HomepageSource } from "./page-renderer.js"; import { SecureSourceFs } from "./secure-source-fs.js"; interface MdxReconciliationCoordinatorOptions { sourceFs: SecureSourceFs; generatedRouteManager: GeneratedRouteManager; getAllMdxFiles(): Promise; getSections(): SectionConfig[] | null; setSections(sections: SectionConfig[] | null): void; loadSectionsConfig(): Promise; withApiReferenceSection(sections: SectionConfig[] | null): SectionConfig[] | null; determineSectionForFile(filePath: string, frontmatter: Record, sections?: SectionConfig[] | null): { sectionSlug: string; pageSlug: string; }; lookupOpenApi(reference: string): OperationDescriptor | undefined; isOpenApiRegistryEmpty(): boolean; syntheticOpenApiPages(): PageMeta[]; getMdxRoutes(): RouteArtifact[]; getOpenApiRoutes(): RouteArtifact[]; replaceMdxRoutes(routes: Iterable<{ source: string; slug: string; }>): Promise; generatePageFromMdx(mdxFile: MDXFile, options?: { apiOperation?: OperationDescriptor; }): Promise; updateSectionIndex(sectionSlug: string, frontmatter: Record, mdxContent: string, sourcePath?: string): Promise; writeApiPages(realPages?: PageMeta[]): Promise>; updatePagesIndex(pages?: readonly PageMeta[]): Promise; updateRootLayout(pages?: PageMeta[]): Promise; updateSitemap(pages?: PageMeta[]): Promise; updateLlmsFiles(pages?: PageMeta[]): Promise; generateSectionIndexPages(pages?: PageMeta[], declaredSlugs?: Set): Promise; maybeUpdateSections(): Promise; removeOwnedRoute(slug: string): Promise; } export declare class MdxReconciliationCoordinator { private readonly options; private readonly mdxPassBuilder; private retainExistingMdxOutput; private mdxSnapshotInitialized; private successfulMdxPages; private successfulMdxContent; private successfulMdxSourcesBySlug; private collisionBlockedMdxSources; constructor(options: MdxReconciliationCoordinatorOptions); resetForInitialPublication(): void; successfulPages(): PageMeta[]; occupiedSlugs(): Set; blockOpenApiPages(realPages: PageMeta[]): PageMeta[]; private captureMdxPass; buildRealPagesMeta(): Promise; buildAllPagesMeta(): Promise; private mergeAllPagesMeta; private successfulPagesInSourceOrder; private recordSuccessfulMdxPage; private removeSuccessfulMdxPage; private captureSuccessfulMdxState; private restoreSuccessfulMdxState; private rollbackPageCommits; private rollbackFailedMdxCommit; private rollbackCommittedMdxChange; private dropMissingMdxSnapshots; private commitMdxSnapshot; private refreshMdxDerivedOutput; readAggregateMdxSource(filePath: string): Promise<{ content: string; }>; private homepageSource; readHomepageSource(pages?: readonly PageMeta[]): Promise; private writePageForFile; private retryMdxPages; refreshSiteAggregates(resolvedPages?: PageMeta[], declaredSlugs?: Set): Promise; handleFileChange(action: string, filePath: string): Promise; handleFileDelete(filePath: string): Promise; processAllMdxFiles(): Promise; } export {};