import { ChildProcess } from 'child_process'; export interface QueryResult { rows: any[]; } export interface EngineDriver { connect({ server, port, user, password }); query(pool, sql: string): Promise; getVersion(pool): Promise; listDatabases(pool): Promise<{ name: string }[]>; analyseFull(pool): Promise; analyseIncremental(pool): Promise; } export interface NamedObjectInfo { pureName: string; schemaName: string; } export interface TableInfo extends NamedObjectInfo { } export interface DatabaseInfo { tables: TableInfo[]; } export interface OpenedDatabaseConnection { conid: string; database: string; structure: DatabaseInfo; subprocess: ChildProcess; }