export type SqlValue = unknown; export interface SqlQuery { readonly kind: 'sql'; readonly chunks: readonly string[]; readonly values: readonly SqlValue[]; } export interface SqlIdentifier { readonly kind: 'identifier'; readonly names: readonly string[]; } export interface SqlTrustedRaw { readonly kind: 'rawTrusted'; readonly text: string; } export type SqlFragment = SqlQuery | SqlIdentifier | SqlTrustedRaw; export type SqlInput = SqlQuery | string; export type Dialect = 'mysql' | 'postgres'; export interface RenderedSql { sql: string; bindings: unknown[]; } type SqlTemplateValue = SqlValue | SqlFragment; declare function sqlTag(strings: TemplateStringsArray, ...values: SqlTemplateValue[]): SqlQuery; declare function join(values: readonly SqlTemplateValue[], separator?: SqlQuery): SqlQuery; declare function identifier(...names: string[]): SqlIdentifier; declare function rawTrusted(text: string): SqlTrustedRaw; export declare const sql: typeof sqlTag & { join: typeof join; identifier: typeof identifier; rawTrusted: typeof rawTrusted; }; export declare function createSqlQuery(sqlIn: string, bindings?: unknown[]): SqlQuery; export declare function renderSql(input: SqlInput, dialect: Dialect): RenderedSql; export declare function normalizeSqlBindingValue(value: unknown): unknown; export declare function quoteIdentifier(name: string, dialect: Dialect): string; export {}; //# sourceMappingURL=sql.d.ts.map