import type { DiscoveryConfig, DiscoveryResult } from "./types.js"; export type DiscoveryGenerationErrorPolicy = "reject" | "publish-valid"; export interface ReplaceDiscoveredProjectPrimitivesOptions { /** * Controls whether a generation containing discovery errors is published. * * Strict lifecycle boundaries should retain the default `reject` policy so * the previous complete generation remains live. One-shot runtimes that * expose discovery errors to their caller may explicitly publish the valid * subset as one atomic generation. */ errorPolicy?: DiscoveryGenerationErrorPolicy; } /** * A candidate discovery generation contained errors and was not published. * * The full result is retained for safe diagnostics, while the message avoids * embedding local paths or project-authored error text. */ export declare class DiscoveryGenerationError extends Error { readonly result: DiscoveryResult; constructor(result: DiscoveryResult); } /** * Replace every project-scoped primitive registry as one atomic generation. * * Discovery can continue collecting independent file failures. By default a * generation containing any failure is rejected; `publish-valid` explicitly * publishes the successfully discovered entries together as one generation. * Concurrent readers therefore see either the complete previous generation * or one complete replacement generation, never an in-progress mix. */ export declare function replaceDiscoveredProjectPrimitives(config: DiscoveryConfig, options?: ReplaceDiscoveredProjectPrimitivesOptions): Promise; //# sourceMappingURL=registry-replacement.d.ts.map