import stream from "stream"; import { PgDb } from './index.js'; import { FieldType } from "./pgDb.js"; import { PgSchema } from "./pgSchema.js"; import { CountOption, InsertOption, Return, Stream, TruncateOptions, UpdateDeleteOption, UpsertOption } from "./pgTableInterface.js"; import { QueryAble } from "./queryAble.js"; import { QueryOptions } from "./queryAbleInterface.js"; export declare class PgTable extends QueryAble { schema: PgSchema; protected desc: { name: string; pkey?: string; schema: string; }; qualifiedName: string; pkey: string; db: PgDb; fieldTypes: { [index: string]: FieldType; }; constructor(schema: PgSchema, desc: { name: string; pkey?: string; schema: string; }, fieldTypes?: Record); toString(): string; insert(records: T[], options?: InsertOption): Promise; insert(records: T, options?: InsertOption): Promise; insertAndGet(records: T[], options?: InsertOption & Return): Promise; insertAndGet(records: T, options?: InsertOption & Return): Promise; updateOne(conditions: { [k: string]: any; }, fields: { [k: string]: any; }, options?: UpdateDeleteOption): Promise; updateAndGetOne(conditions: { [k: string]: any; }, fields: { [k: string]: any; }, options?: UpdateDeleteOption & Return): Promise; update(conditions: { [k: string]: any; }, fields: { [k: string]: any; }, options?: UpdateDeleteOption): Promise; updateAndGet(conditions: { [k: string]: any; }, fields: { [k: string]: any; }, options?: UpdateDeleteOption & Return): Promise; upsert(record: T, options?: UpsertOption): Promise; upsertAndGet(record: T, options?: UpsertOption & Return): Promise; delete(conditions: { [k: string]: any; }, options?: UpdateDeleteOption): Promise; deleteOne(conditions: { [k: string]: any; }, options?: UpdateDeleteOption): Promise; deleteAndGet(conditions: { [k: string]: any; }, options?: UpdateDeleteOption & Return): Promise; deleteAndGetOne(conditions: { [k: string]: any; }, options?: UpdateDeleteOption & Return): Promise; truncate(options?: TruncateOptions): Promise; find(conditions: { [k: string]: any; }, options?: QueryOptions): Promise; find(conditions: { [k: string]: any; }, options?: QueryOptions & Stream): Promise; findWhere(where: string, params: any[] | {}, options?: QueryOptions): Promise; findWhere(where: string, params: any[] | {}, options?: QueryOptions & Stream): Promise; findAll(options?: QueryOptions): Promise; findAll(options?: QueryOptions & Stream): Promise; findOne(conditions: Record, options?: QueryOptions): Promise; findFirst(conditions: Record, options?: QueryOptions): Promise; count(conditions?: Record, options?: CountOption): Promise; findOneFieldOnly(conditions: Record, field: string, options?: QueryOptions): Promise; private getInsertQuery; protected getUpdateSetSnippet(fields: { [k: string]: any; }, parameters?: any[]): { snippet: string; parameters: any[]; }; protected getUpdateQuery(conditions: { [k: string]: any; }, fields: { [k: string]: any; }, options?: UpdateDeleteOption): { sql: string; parameters: any[]; }; protected getUpsertQuery(record: T, options?: UpsertOption): { sql: string; parameters: any[]; }; protected getDeleteQuery(conditions: { [k: string]: any; }, options?: UpdateDeleteOption): { sql: string; parameters: any[]; }; }