/** * Operator-declared SQL gate. The dialect is never inferred from the statement. * Guessing from attacker-controlled SQL would pick the parser for them. */ import type { GuardedQuery } from '../governance.js'; import type { GovernancePolicy } from '../types.js'; import type { SqlDialectId } from './types.js'; export declare const SQL_DIALECTS: readonly ['postgres', 'mssql', 'oracle']; export type SqlDialect = SqlDialectId; type DialectGate = (sql: string, policy: GovernancePolicy) => GuardedQuery; export declare function registerSqlGate(dialect: Exclude, gate: DialectGate): void; /** Missing → postgres. Anything else (typo, case, mysql) throws. No silent fallback. */ export declare function resolveSqlDialect(value: unknown): SqlDialect; export declare function loadSqlGate(dialect: SqlDialect): Promise; export declare function guardSqlByDialect(dialect: SqlDialect, sql: string, policy: GovernancePolicy, postgresGuard: (sql: string) => GuardedQuery): GuardedQuery; export {}; //# sourceMappingURL=dispatch.d.ts.map