import { AbstractModel } from "../model/AbstractModel";
import { IQuery } from "../model/IQuery";
import { ITransaction } from "../model/ITransaction";
import { AbstractDatabaseAdapter, NoSqlProvider } from "../database/AbstractDatabaseAdapter";
interface SequenceProvider {
    getNextSequence(tableName: string): Promise<number>;
}
export declare class DefaultNoSqlAdapter extends AbstractDatabaseAdapter implements SequenceProvider {
    private logger;
    private readonly connectionString;
    private readonly modelAdapters;
    private readonly provider;
    private connection;
    private counterSchema;
    constructor(provider: NoSqlProvider, connectionString: string);
    init(): Promise<void>;
    stop(): Promise<void>;
    private getSchemaFromPrototype;
    use<T extends AbstractModel>(model: {
        new (...args: any[]): T;
    }): IQuery<T>;
    getNextSequence(tableName: string): Promise<number>;
    createTransaction(): Promise<ITransaction>;
}
export {};
//# sourceMappingURL=DefaultNoSqlAdapter.d.ts.map