import { ParserRuleContext } from "antlr4ng"; import type { QueryExpr } from "../ir/ir.js"; import { type StatementCategory } from "../ir/statement.js"; /** Lower a parsed PostgreSQL file (root: stmtblock of `;`-separated statements) into the IR. * A single SELECT statement lowers fully; anything else (DDL, DML, multi-statement batches) * becomes a flagged non-query body — a valid parse never throws. Frozen — immutable after lower(). */ export declare function lower(tree: ParserRuleContext): QueryExpr; /** Per-statement categories for every top-level `stmt` in a parsed `root`, in source order — the * file-level view behind statementCategory (which folds >1 into "compound"). Parity with the other * dialects; feeds the corpus reclassifier. */ export declare function statementCategories(tree: ParserRuleContext): StatementCategory[];