import { ExecOutputReturnValue } from 'shelljs'; export type Exec = (command: string) => Promise; export interface DbDriver { readonly client: 'mysql' | 'pg' | 'sqlite3'; readonly clientImage: string; readonly usesSidecar: boolean; dump(exec: Exec, artifact: string, tables?: string[]): Promise; restore(exec: Exec, artifact: string): Promise; postRestoreFixups(exec: Exec): Promise; listTables(exec: Exec): Promise; dropAllTables(exec: Exec): Promise; executeSql(exec: Exec, sql: string): Promise; escapeString(value: string): string; escapeIdentifier(identifier: string): string; assertSafeIdentifier(identifier: string, context: string): string; disableFks(): string; enableFks(): string; }