/** * SQL Mode 2 — Parser * * Wraps node-sql-parser. Handles parameter binding (? and $N styles). * Splits multi-statement blocks for transactions. * * PERFORMANCE: node-sql-parser (2.5MB) is lazy-loaded on first parseSql() call. * Users who never call db.sql() pay zero import cost. */ import type { SqlMode2Dialect } from './types.js'; /** * Ensure the parser is loaded. Call once (e.g., from SqlEngine.execute) * before any synchronous parseSql() calls. */ export declare function ensureParser(): Promise; /** * Bind parameters into the SQL string before parsing. * Supports both ? (MySQL) and $N (PostgreSQL) styles. * All binding is quote-aware — placeholders inside string literals are ignored. */ export declare function bindParams(sql: string, params: unknown[] | undefined, dialect?: SqlMode2Dialect): string; /** * Parse a SQL string into an AST. * Lazy-loads node-sql-parser on first call. */ export declare function parseSql(sql: string, dialect?: SqlMode2Dialect): unknown; /** * Split a multi-statement SQL block into individual statements. * Quote-aware — semicolons inside string literals are preserved. */ export declare function splitStatements(sql: string): string[]; /** * Check if a SQL string is a transaction block. */ export declare function isTransactionBlock(sql: string): boolean; //# sourceMappingURL=parser.d.ts.map