import { QueryPromise } from 'drizzle-orm/query-promise'; import { Query, SQL, SQLWrapper } from 'drizzle-orm/sql'; import { AnyPgColumn } from '../columns'; import { PgDialect } from '../dialect'; import { SelectFields } from '../operations'; import { PgSession, PreparedQuery, PreparedQueryConfig } from '../session'; import { AnyPgTable, GetTableConfig, InferModel } from '../table'; import { JoinFn, JoinNullability, JoinType, PgSelectConfig, SelectMode, SelectResult } from './select.types'; export interface PgSelect, TSelectMode extends SelectMode = 'single', TJoinsNotNullable extends Record = Record, 'not-null'>> extends QueryPromise[]>, SQLWrapper { } export declare class PgSelect, TSelectMode extends SelectMode = 'single', TJoinsNotNullable extends Record = Record, 'not-null'>> extends QueryPromise[]> implements SQLWrapper { private session; private dialect; protected $table: TTable; protected $selectMode: TSelectMode; protected $result: TResult; private config; private isPartialSelect; private joinsNotNullable; constructor(table: PgSelectConfig['table'], fields: PgSelectConfig['fields'], session: PgSession, dialect: PgDialect); private createJoin; leftJoin: JoinFn; rightJoin: JoinFn; innerJoin: JoinFn; fullJoin: JoinFn; fields(fields: TSelect): Omit, 'fields'>; where(where: SQL | undefined): Omit; groupBy(...columns: (AnyPgColumn | SQL)[]): Omit; orderBy(...columns: SQL[]): Omit; limit(limit: number): Omit; offset(offset: number): Omit; toSQL(): Query; private _prepare; prepare(name: string): PreparedQuery[]; }>; execute: ReturnType['execute']; } //# sourceMappingURL=select.d.ts.map