import { BaseDriver, DownloadQueryResultsOptions, DownloadQueryResultsResult, QueryOptions, TableColumn, TableStructure } from '@cubejs-backend/base-driver';
import { Config } from 'arangojs/connection';
export declare type TableMap = Record<string, TableColumn[]>;
export declare type SchemaStructure = Record<string, TableMap>;
export declare class ArangoDbDriver extends BaseDriver {
    /**
     * Returns default concurrency value.
     * @return {number}
     */
    static getDefaultConcurrency(): number;
    static driverEnvVariables(): string[];
    private config;
    private client;
    constructor(config?: Partial<Config> & {
        /**
           * Time to wait for a response from a connection after validation
           * request before determining it as not valid. Default - 60000 ms.
           */
        testConnectionTimeout?: number;
    });
    testConnection(): Promise<any>;
    query<R = unknown>(_query: string, _values?: unknown[], _options?: QueryOptions): Promise<R[]>;
    downloadQueryResults(query: string, values: unknown[], _options: DownloadQueryResultsOptions): Promise<DownloadQueryResultsResult>;
    release(): Promise<void>;
    readOnly(): boolean;
    tablesSchema(): Promise<SchemaStructure>;
    tableColumnTypes(table: string): Promise<TableStructure>;
    toGenericType(columnType: string): string;
    private aggrAttrs;
}
//# sourceMappingURL=arangodb-driver.d.ts.map