diff --git a/types/pg-query-stream/index.d.ts b/types/pg-query-stream/index.d.ts
index 34331358e7..ce1efedf5a 100644
--- a/types/pg-query-stream/index.d.ts
+++ b/types/pg-query-stream/index.d.ts
@@ -6,6 +6,7 @@
///
import stream = require("stream");
+import pg = require("pg");
declare namespace QueryStream {
interface Options {
@@ -14,11 +15,12 @@ declare namespace QueryStream {
}
}
-declare class QueryStream extends stream.Readable {
+declare class QueryStream extends stream.Readable implements pg.Submittable {
batchSize: number;
text: string;
values?: any[];
constructor(text: string, values?: any[], options?: QueryStream.Options);
+ submit(connection: pg.Connection): void;
}
export = QueryStream;
diff --git a/types/pg/index.d.ts b/types/pg/index.d.ts
index 279659a9aa..621a3aa1b8 100644
--- a/types/pg/index.d.ts
+++ b/types/pg/index.d.ts
@@ -51,6 +51,10 @@ export interface QueryConfig {
values?: any[];
}
+export interface Submittable {
+ submit: (connection: Connection) => void;
+}
+
export interface QueryArrayConfig extends QueryConfig {
rowMode: 'array';
}
@@ -148,7 +152,7 @@ export class Pool extends events.EventEmitter {
end(): Promise;
end(callback: () => void): void;
- query(queryStream: QueryConfig & stream.Readable): stream.Readable;
+ query(queryStream: T): T;
query(queryConfig: QueryArrayConfig): Promise;
query(queryConfig: QueryConfig): Promise;
query(queryTextOrConfig: string | QueryConfig, values?: any[]): Promise;
@@ -166,7 +170,7 @@ export class ClientBase extends events.EventEmitter {
connect(): Promise;
connect(callback: (err: Error) => void): void;
- query(queryStream: QueryConfig & stream.Readable): stream.Readable;
+ query(queryStream: T): T;
query(queryConfig: QueryArrayConfig): Promise;
query(queryConfig: QueryConfig): Promise;
query(queryTextOrConfig: string | QueryConfig, values?: any[]): Promise;