/** Maps compact kind abbreviations to their full canonical kind strings. */ export declare const KIND_MAP: Record; /** Maps compact field key abbreviations to their full canonical field names. */ export declare const KEY_MAP: Record; /** * Detect whether an AST value uses compact format. * A compact AST has `"k"` as a key instead of `"kind"`. * * @param ast - Any JSON value to test * @returns `true` if the value uses compact format keys */ export declare function isCompactAst(ast: unknown): boolean; /** Maps common agent misspellings of kind values to their canonical form. */ export declare const KIND_SYNONYMS: Record; /** * Recursively expand a compact-format AST to the canonical full format, * and normalize bare child nodes by auto-injecting `kind` and `id`. * * - Expands abbreviated keys (e.g., `"k"` → `"kind"`, `"rt"` → `"returnType"`) * - Expands abbreviated kind values (e.g., `"lit"` → `"literal"`, `"bin"` → `"binop"`) * - Maps kind synonyms (e.g., `"struct"` → `"record"`, `"function"` → `"fn"`) * - Auto-injects `kind` on bare objects in known structural arrays (variants, fields, params, arms) * - Auto-generates `id` when missing on nodes that require it * - Passes through full-format ASTs unchanged (idempotent) * - Unknown compact kinds pass through → validator will catch them * * @param ast - Any JSON value (compact or full format) * @returns The same AST with all compact abbreviations expanded to canonical form */ export declare function expandCompact(ast: unknown): unknown; /** Returns the compact format reference as a structured object. */ export declare function compactSchemaReference(): { kindMap: Record; keyMap: Record; description: string; }; //# sourceMappingURL=expand.d.ts.map