import { type DetermineShapeFromType } from "./types.js"; declare const JS_TO_SQL_TYPES: { readonly string: readonly ["char", "bpchar", "character_data", "varchar", "text", "character", "character varying", "inet", "cidr", "point", "lseg", "path", "box", "line", "circle", "macaddr", "macaddr8", "interval", "tsquery", "tsvector", "pg_lsn", "xml", "bit", "varbit", "bit varying", "uuid", "bytea", "money", "smallmoney", "datetime", "timestamp", "date", "time", "timetz", "timestamptz", "datetime2", "smalldatetime", "datetimeoffset", "citext"]; readonly number: readonly ["tinyint", "int", "numeric", "integer", "real", "smallint", "decimal", "float", "float4", "float8", "double precision", "double", "dec", "fixed", "year", "smallserial", "serial", "serial2", "serial4", "serial8", "bigserial", "int2", "int4", "int8", "int16", "int32", "bigint"]; readonly boolean: readonly ["boolean", "bool"]; readonly Json: readonly ["json", "jsonb"]; readonly Buffer: readonly ["binary", "varbinary", "image", "blob", "bytea", "tinyblob", "mediumblob", "longblob"]; }; export declare const SQL_TYPES_LIST: ("bigint" | "boolean" | "fixed" | "binary" | "path" | "integer" | "float" | "date" | "uuid" | "datetime" | "time" | "char" | "bpchar" | "character_data" | "varchar" | "text" | "character" | "character varying" | "inet" | "cidr" | "point" | "lseg" | "box" | "line" | "circle" | "macaddr" | "macaddr8" | "interval" | "tsquery" | "tsvector" | "pg_lsn" | "xml" | "bit" | "varbit" | "bit varying" | "bytea" | "money" | "smallmoney" | "timestamp" | "timetz" | "timestamptz" | "datetime2" | "smalldatetime" | "datetimeoffset" | "citext" | "tinyint" | "int" | "numeric" | "real" | "smallint" | "decimal" | "float4" | "float8" | "double precision" | "double" | "dec" | "year" | "smallserial" | "serial" | "serial2" | "serial4" | "serial8" | "bigserial" | "int2" | "int4" | "int8" | "int16" | "int32" | "bool" | "json" | "jsonb" | "varbinary" | "image" | "blob" | "tinyblob" | "mediumblob" | "longblob")[]; type JsToSQLTypes = typeof JS_TO_SQL_TYPES; type NonNullableJsTypeName = keyof JsToSQLTypes; export type JsTypeName = "null" | NonNullableJsTypeName; export type SQLTypeName = JsToSQLTypes[NonNullableJsTypeName][number]; export declare const SQL_TO_JS_TYPES: Record; export declare const extractPrimitiveSQLType: (SQLType: string) => SQLTypeName; export declare const escapeIdentifier: (str: string) => string; export declare const escapeLiteral: (str: string) => string; export declare const SQL_DATE_TYPES: Set<"bigint" | "boolean" | "fixed" | "binary" | "path" | "integer" | "float" | "date" | "uuid" | "datetime" | "time" | "char" | "bpchar" | "character_data" | "varchar" | "text" | "character" | "character varying" | "inet" | "cidr" | "point" | "lseg" | "box" | "line" | "circle" | "macaddr" | "macaddr8" | "interval" | "tsquery" | "tsvector" | "pg_lsn" | "xml" | "bit" | "varbit" | "bit varying" | "bytea" | "money" | "smallmoney" | "timestamp" | "timetz" | "timestamptz" | "datetime2" | "smalldatetime" | "datetimeoffset" | "citext" | "tinyint" | "int" | "numeric" | "real" | "smallint" | "decimal" | "float4" | "float8" | "double precision" | "double" | "dec" | "year" | "smallserial" | "serial" | "serial2" | "serial4" | "serial8" | "bigserial" | "int2" | "int4" | "int8" | "int16" | "int32" | "bool" | "json" | "jsonb" | "varbinary" | "image" | "blob" | "tinyblob" | "mediumblob" | "longblob">; export declare const SQL_JSON_TYPES: Set<"bigint" | "boolean" | "fixed" | "binary" | "path" | "integer" | "float" | "date" | "uuid" | "datetime" | "time" | "char" | "bpchar" | "character_data" | "varchar" | "text" | "character" | "character varying" | "inet" | "cidr" | "point" | "lseg" | "box" | "line" | "circle" | "macaddr" | "macaddr8" | "interval" | "tsquery" | "tsvector" | "pg_lsn" | "xml" | "bit" | "varbit" | "bit varying" | "bytea" | "money" | "smallmoney" | "timestamp" | "timetz" | "timestamptz" | "datetime2" | "smalldatetime" | "datetimeoffset" | "citext" | "tinyint" | "int" | "numeric" | "real" | "smallint" | "decimal" | "float4" | "float8" | "double precision" | "double" | "dec" | "year" | "smallserial" | "serial" | "serial2" | "serial4" | "serial8" | "bigserial" | "int2" | "int4" | "int8" | "int16" | "int32" | "bool" | "json" | "jsonb" | "varbinary" | "image" | "blob" | "tinyblob" | "mediumblob" | "longblob">; export declare const SQL_NUMBER_TYPES: Set<"bigint" | "boolean" | "fixed" | "binary" | "path" | "integer" | "float" | "date" | "uuid" | "datetime" | "time" | "char" | "bpchar" | "character_data" | "varchar" | "text" | "character" | "character varying" | "inet" | "cidr" | "point" | "lseg" | "box" | "line" | "circle" | "macaddr" | "macaddr8" | "interval" | "tsquery" | "tsvector" | "pg_lsn" | "xml" | "bit" | "varbit" | "bit varying" | "bytea" | "money" | "smallmoney" | "timestamp" | "timetz" | "timestamptz" | "datetime2" | "smalldatetime" | "datetimeoffset" | "citext" | "tinyint" | "int" | "numeric" | "real" | "smallint" | "decimal" | "float4" | "float8" | "double precision" | "double" | "dec" | "year" | "smallserial" | "serial" | "serial2" | "serial4" | "serial8" | "bigserial" | "int2" | "int4" | "int8" | "int16" | "int32" | "bool" | "json" | "jsonb" | "varbinary" | "image" | "blob" | "tinyblob" | "mediumblob" | "longblob">; export declare const LLM_PREDICTABLE_TYPES: Set<"path" | "date" | "uuid" | "datetime" | "time" | "char" | "bpchar" | "character_data" | "varchar" | "text" | "character" | "character varying" | "inet" | "cidr" | "point" | "lseg" | "box" | "line" | "circle" | "macaddr" | "macaddr8" | "interval" | "tsquery" | "tsvector" | "pg_lsn" | "xml" | "bit" | "varbit" | "bit varying" | "bytea" | "money" | "smallmoney" | "timestamp" | "timetz" | "timestamptz" | "datetime2" | "smalldatetime" | "datetimeoffset" | "citext">; export declare const determineShapeFromType: DetermineShapeFromType; export declare function groupBy(array: Array, getKey: (item: T) => K): Record; export {};