import type { Combinator } from '../types.ts'; export type GrammarCoverageDefinition = { id: string; kind: 'rule' | 'choice-arm' | 'dispatch-arm' | 'label'; }; export type GrammarCoveragePlan = { definitions: readonly GrammarCoverageDefinition[]; choices: Map, readonly string[]>; dispatches: Map, readonly string[]>; /** Trace-only transaction identity. Attempts are not coverage definitions: a * rejected transaction must not create a semantic winner or denominator. */ attempts: Map, string>; labels: Map, readonly string[]>; rules: Map, string>; }; /** Canonical deterministic IDs for one explicit entry closure, or every public * entry in a `rules()` map. Multiple roots share identity maps so a shared * subtree still has one stable owner. */ export declare function buildGrammarPlan(entry: Combinator | readonly Combinator[], winners?: Record>): GrammarCoveragePlan; //# sourceMappingURL=grammar-coverage-ids.d.ts.map