import { IDatabase, IMetricsComponent as IBaseMetricsComponent } from "@well-known-components/interfaces"; import { Pool, PoolConfig } from "pg"; import { RunnerOption } from "node-pg-migrate"; import { SQLStatement } from "sql-template-strings"; import QueryStream from "pg-query-stream"; import { metricDeclarations } from "./metrics"; /** * @internal */ export type QueryStreamWithCallback = QueryStream & { callback: Function; }; /** * @public */ export type Options = Partial<{ pool: PoolConfig; migration: RunnerOption; }>; /** * @public */ export interface IPgComponent extends IDatabase { start(): Promise; query>(sql: string): Promise>; query>(sql: SQLStatement, durationQueryNameLabel?: string): Promise>; streamQuery(sql: SQLStatement, config?: { batchSize?: number; }): AsyncGenerator; /** * @internal */ getPool(): Pool; stop(): Promise; } /** * @public */ export declare namespace IPgComponent { /** * @public */ type Composable = { pg: IPgComponent; }; } /** * @public */ export type IMetricsComponent = IBaseMetricsComponent; //# sourceMappingURL=types.d.ts.map