import { type PluginDef } from './plugins/registry.js'; import type { CompiledDefinition, Finding } from './types.js'; /** `r` → /^r\d+$/ — literal parts escaped, `` = digits. */ export declare function grammarToRegExp(grammar: string): RegExp; /** " — did you mean id_grammar?" when a near-miss exists; the valid list * otherwise. Exported for the dashboard evaluator: a timeline bind naming a * near-miss column answers with the same phrase this loader uses. */ export declare function suggest(key: string, siblings: string[]): string; interface LoadResult { def: CompiledDefinition; findings: Finding[]; } /** * `pluginRegistry` is a TEST seam only (PR13's doctrine): no shipped plugin * is extendable and none ships operational blocks in this program, so the * extend findings and the plugin-block compile path are provable only through * an injected fixture. Production callers pass one argument, always — the * shipped registry is closed (0009/0022), and this parameter must never grow * a config file that feeds it. */ export declare function loadDefinition(yamlText: string, pluginRegistry?: ReadonlyMap): LoadResult; export declare class DefinitionError extends Error { findings: Finding[]; constructor(findings: Finding[]); } export {};