import { AqlLiteral, AqlQuery } from "arangojs/aql";
import { Config, Connection } from "arangojs/connection";
import { ArrayCursor } from "arangojs/cursor";
import { QueryOptions } from "arangojs/database";
import { AutoDatabse } from "./auto-database";
export interface RetryDatabaseConfig extends Config {
    retryOnConflict?: number;
}
export declare class RetryDatabase extends AutoDatabse {
    retryOnConflict: number;
    constructor(config?: RetryDatabaseConfig);
    query<T = any>(query: AqlQuery, options?: QueryOptions): Promise<ArrayCursor<T>>;
    query<T = any>(query: string | AqlLiteral, bindVars?: Record<string, any>, options?: QueryOptions): Promise<ArrayCursor<T>>;
}
export declare class RetryConnection extends Connection {
    protected _runQueue(): void;
}
