import type { DisruptionQuery, DisruptionVerdict } from "@intentius/chant/lexicon"; /** The slice of a `lexicon-aws.json` entry that carries replacement semantics. */ export interface DisruptionSpec { resourceType: string; kind: string; /** Read-only attributes (TS key → CF attr name). An output changing is a symptom, never a cause. */ attrs?: Record; createOnly?: string[]; conditionalCreateOnly?: string[]; replacementStrategy?: "delete_then_create" | "create_then_delete"; } /** * Classify one pending update against the type's compiled schema. Pure — the * spec table is passed in, so this is testable without generated artifacts. */ export declare function classifyAwsChange(query: DisruptionQuery, specs: Map): DisruptionVerdict; /** * `LexiconPlugin.classifyDisruption` for aws. Loads the compiled registry once * and answers every query from it. A registry that cannot be read leaves every * change `unknown` — the honest answer, and the one the contract requires. */ export declare function awsDisruption(options: { environment: string; changes: DisruptionQuery[]; }): Record; //# sourceMappingURL=disruption.d.ts.map