import { Dialect } from './Dialect'; /** Marks an interpolation as an identifier: spliced into the SQL text dialect-quoted, never a bind parameter. */ export declare class SqlIdentifier { readonly name: string; constructor(name: string); } /** A composable, dialect-agnostic SQL snippet produced by the `sql` tag. */ export declare class SqlFragment { readonly strings: readonly string[]; readonly values: readonly unknown[]; constructor(strings: readonly string[], values: readonly unknown[]); /** Compile for a dialect. `startIndex` seeds placeholder numbering so nested fragments thread through. */ render(dialect: Dialect, startIndex?: number): { text: string; values: unknown[]; }; } /** Tagged-template literal: interpolations become bind parameters; nest fragments or `sql.id()` to compose. */ export declare function sql(strings: TemplateStringsArray, ...values: unknown[]): SqlFragment; export declare namespace sql { var id: (name: string) => SqlIdentifier; }