import { DBClient } from './DBClient';
import { DBTransaction } from './DBTransaction';
export declare class MockDBTransaction extends DBTransaction {
    mockClient: MockDBClient;
    constructor(mockClient: MockDBClient);
    query(sql: string, ...bindArrs: any[]): Promise<any>;
    protected runQueryPrivate(sql: string, bindArrs?: any[]): Promise<any>;
    protected runQueryAssocPrivate(sql: string, bindObj?: object): Promise<any>;
    doTransactionEnd(): Promise<void>;
}
export interface SavedQuery {
    sql: string;
    bindArrs: Array<any>;
    resp: any;
}
export declare class MockDBClient extends DBClient {
    registeredQueries: SavedQuery[];
    runInTransaction(readonly: boolean, func: (transaction: DBTransaction) => Promise<any>): Promise<any>;
    registerQuery(sql: string, resp: any, ...bindArrs: any[]): void;
    hasQuery(sql: string, params: any[]): any;
}
