import { type MediaPurposePolicy, type SiteConfig, type SiteDefaults } from "@aotter/mantle-spec"; import type { SiteConfigRepository, UpdateEditableSiteConfigArgs } from "@aotter/mantle-runtime"; export type McpCatalogSiteConfig = Pick; export interface McpCatalogKvBinding { readonly namespace: KVNamespace; /** Stable deployment-owned scope. Never derive this from a request. */ readonly scope: string; } export interface McpCatalogSiteConfigReader { /** Resolve caller-independent catalog data after the transport auth gate. */ loadCatalogSite(runtime: object): Promise; } /** * Cloudflare-owned write-through decorator for MCP catalog configuration. * The delegate remains canonical: ordinary repository reads always hit D1, * while only the caller-independent MCP projection is stored in KV. */ export declare class KvSiteConfigRepository implements SiteConfigRepository, McpCatalogSiteConfigReader { private readonly canonical; private readonly binding; readonly key: string; private readonly inFlight; private generation; private lastKnownSnapshot; private operationTail; private putFailureCount; private putBackoffUntil; private readonly diagnosticCounts; constructor(canonical: SiteConfigRepository, binding: McpCatalogKvBinding); load(): Promise; readLocales(): Promise; readMediaPurposes(): Promise; seed(defaults: SiteDefaults | undefined): Promise; updateEditable(values: UpdateEditableSiteConfigArgs): Promise; loadCatalogSite(runtime: object): Promise; private readCatalogSite; private repairCatalogSite; private publishAfterCommittedWrite; private loadCanonicalSnapshot; private putSnapshot; private exclusive; private diagnostic; } //# sourceMappingURL=KvSiteConfigRepository.d.ts.map