import { QueryResult } from './query'; import { SqlDialect } from './dialect'; import { SqlDumper } from './dumper'; import { DatabaseInfo } from './dbinfo'; export interface StreamOptions { recordset: (columns) => void; row: (row) => void; error: (error) => void; done: (result) => void; info: (info) => void; } export interface EngineDriver { engine: string; connect(nativeModules, { server, port, user, password, database }): any; query(pool: any, sql: string): Promise; stream(pool: any, sql: string, options: StreamOptions); getVersion(pool: any): Promise<{ version: string }>; listDatabases( pool: any ): Promise< { name: string; }[] >; analyseFull(pool: any): Promise; // analyseIncremental(pool: any): Promise; dialect: SqlDialect; createDumper(): SqlDumper; }