import { DatabaseClient } from './database_client'; import { Dialect } from './dialects'; import { SelectStatement } from '../statements/select_statement'; import { GroupSelectStatement } from '../statements/group_select_statement'; export interface Runnable { statement: SelectStatement | GroupSelectStatement; client: 'scalar' | 'vector' | 'guarantee-single-row' | 'expect-single-row' | 'rows'; } declare type ExtractTypeParameterFromRunnable = T extends Runnable ? V : never; export declare class DatabaseContext { private client; private dialect; constructor(client: DatabaseClient, dialect: Dialect); run({ statement, client }: Runnable): Promise; parallelRun; }, K extends string>(queries: T): Promise<{ [K in keyof T]: ExtractTypeParameterFromRunnable; }>; } export {};