import type { RouteArtifact } from "../lib/generated-artifacts.js"; import { OpenApiRegistry } from "../lib/openapi.js"; import type { NormalizedOpenApiSpec, PageMeta, SectionConfig } from "../lib/types.js"; import { SecureSourceFs } from "./secure-source-fs.js"; export interface ApiPageWriteOptions { writtenRoutes?: Map; additionalPreviousRoutes?: Iterable; } interface OpenApiRefreshCoordinatorOptions { rootDir: string; watchDir: string; outputDir: string; configFile: string; apiBaseSlug: string; sourceFs: SecureSourceFs; getRegistry(): OpenApiRegistry; setRegistry(registry: OpenApiRegistry): void; getSpecs(): NormalizedOpenApiSpec[]; setSpecs(specs: NormalizedOpenApiSpec[]): void; getSections(): SectionConfig[] | null; setSections(sections: SectionConfig[] | null): void; getOpenApiRoutes(): RouteArtifact[]; getSuccessfulMdxPages(): PageMeta[]; resolveSections(): Promise; writeApiPages(realPages?: PageMeta[], options?: ApiPageWriteOptions): Promise>; refreshSiteAggregates(): Promise; syncWatcher(): Promise; removeOwnedRoute(slug: string): Promise; } export declare class OpenApiRefreshCoordinator { private readonly options; constructor(options: OpenApiRefreshCoordinatorOptions); loadInitialRegistry(): Promise; private sourceState; private loadStableRegistry; private applyStableRefresh; private restorePreviousRefresh; private applyRefresh; handleOpenApiChange(): Promise; handleConfigChange(): Promise; } export {};