import type { SwitchSql } from './system-switch.js'; /** * The check every kernel-derived DDL runs on a name before interpolating it (#827, #811, #119). * * SQL identifiers reach the DDL by interpolation — there is no parameter form for a table or * column name — so every one is checked first. The inputs are declarations rather than user * input, but a declaration is still a string somebody typed, and "it came from the manifest" * is exactly the reasoning that makes an injection a surprise. */ export declare const SQL_IDENTIFIER: RegExp; /** `value`, or a throw naming the declaration (`where`) and the role it plays (`kind`). */ export declare function assertSqlIdentifier(area: string, kind: string, value: string, where: string): string; /** Does the scope hold a table by this name — a vertical's table a declaration names, which a module not yet migrated may lack. */ export declare const tableExists: (db: SwitchSql, table: string) => boolean; //# sourceMappingURL=sql-identifier.d.ts.map