import { ColumnsSelection, DrizzleTypeError, entityKind, ExtractTablesWithRelations, RelationalSchemaConfig, SQLWrapper, TablesRelationalConfig, WithSubquery } from "drizzle-orm"; import { AnyPgColumn, AnyPgTable, PgDialect, PgMaterializedView, PgTransactionConfig, QueryResultHKT, QueryResultKind, SelectedFields, WithSubqueryWithSelection } from "drizzle-orm/pg-core"; import { PgTExtensionManager } from "./extensions.js"; import { PgTDelete } from "./query-builders/delete.js"; import { PgTInsertBuilder } from "./query-builders/insert.js"; import { PgTRelationalQueryBuilder } from "./query-builders/query.js"; import { PgTQueryBuilder, TypedQueryBuilder } from "./query-builders/query-builder.js"; import { PgTRefreshMaterializedView } from "./query-builders/refresh-materialized-view.js"; import { PgTSelectBuilder } from "./query-builders/select.js"; import { PgTransaction } from "./query-builders/transaction.js"; import { PgTUpdateBuilder } from "./query-builders/update.js"; import { PgTSession } from "./session.js"; export declare class PgTDatabase = Record, TSchema extends TablesRelationalConfig = ExtractTablesWithRelations> { /** @internal */ readonly dialect: PgDialect; /** @internal */ readonly session: PgTSession; static readonly [entityKind]: string; readonly _: { readonly schema: TSchema | undefined; readonly tableNamesMap: Record; }; query: TFullSchema extends Record ? DrizzleTypeError<"Seems like the schema generic is missing - did you forget to add it to your DB type?"> : { [K in keyof TSchema]: PgTRelationalQueryBuilder; }; constructor( /** @internal */ dialect: PgDialect, /** @internal */ session: PgTSession, schema: RelationalSchemaConfig | undefined); $with(alias: TAlias): { as(qb: TypedQueryBuilder | ((qb: PgTQueryBuilder) => TypedQueryBuilder)): WithSubqueryWithSelection; }; with(...queries: WithSubquery[]): { select: { (): PgTSelectBuilder; (fields: TSelection): PgTSelectBuilder; }; }; select(): PgTSelectBuilder; select(fields: TSelection): PgTSelectBuilder; selectDistinct(): PgTSelectBuilder; selectDistinct(fields: TSelection): PgTSelectBuilder; selectDistinctOn(on: (AnyPgColumn | SQLWrapper)[]): PgTSelectBuilder; selectDistinctOn(on: (AnyPgColumn | SQLWrapper)[], fields: TSelection): PgTSelectBuilder; update(table: TTable): PgTUpdateBuilder; insert(table: TTable): PgTInsertBuilder; delete(table: TTable): PgTDelete; refreshMaterializedView(view: TView): PgTRefreshMaterializedView; execute = Record>(query: SQLWrapper): Promise>; transaction(transaction: (tx: PgTransaction) => Promise, config?: PgTransactionConfig): Promise; get extensions(): PgTExtensionManager; /** * Connects to the database and initializes the extensions. */ connect(): Promise; }