import { type AnalyzeGatingOptions, type GatingReport } from './gating.ts'; /** A `rules()` map, a `compose()` result, or any rule-name → value record. */ export type AnalysableGrammar = Record; /** * Analyze a grammar's choices, resolving a composed grammar back to its carried IR * first. Accepts a `rules()` map (walked directly) or a `compose()` result (recovered). * * The returned report's `unanalysable` is authoritative: non-empty means part of the * grammar was never examined, and a clean `ungated` must NOT be read as a pass. */ export declare function analyzeGrammarGating(grammar: AnalysableGrammar, opts?: AnalyzeGatingOptions): GatingReport; //# sourceMappingURL=grammar.d.ts.map