import { type NodePgDatabase } from 'drizzle-orm/node-postgres'; import type { AnyRelations, EmptyRelations, InferInsertModel, SQL } from 'drizzle-orm'; import type { PgTable } from 'drizzle-orm/pg-core'; import type { Pool } from 'pg'; declare const operators: { readonly eq: import("drizzle-orm").BinaryOperator; readonly ne: import("drizzle-orm").BinaryOperator; readonly lt: import("drizzle-orm").BinaryOperator; readonly lte: import("drizzle-orm").BinaryOperator; readonly gt: import("drizzle-orm").BinaryOperator; readonly gte: import("drizzle-orm").BinaryOperator; }; type Op = keyof typeof operators; type WhereOp = Partial>; type WhereValue = string | number | boolean | null | WhereOp; type WithSQL = { [K in keyof T]: T[K] | SQL; }; type TableName = { [K in keyof TSchema]: TSchema[K] extends PgTable ? K : never; }[keyof TSchema]; type WhereClause> = Partial & string, WhereValue>>; type InsertMap = { [K in TableName]: Partial>>; }; export type CreateDrizzleOptions, TRelations extends AnyRelations = EmptyRelations> = { pool: Pool; schema: TSchema; relations?: TRelations; }; export type DrizzleHelpers = Record, TDb extends NodePgDatabase = NodePgDatabase> = { insertRow>(tableName: T, values: InsertMap[T]): ReturnType['values']>; updateRow>(tableName: T, where: WhereClause, set: InsertMap[T]): ReturnType['set']>['where']>; deleteRow>(tableName: T, where: WhereClause): ReturnType['where']>; }; export declare function createDrizzle, TRelations extends AnyRelations = EmptyRelations>(options: CreateDrizzleOptions): NodePgDatabase & DrizzleHelpers>; export {}; //# sourceMappingURL=createDrizzle.d.ts.map