import { AbstractClientService } from '@joktec/core';
import { Database } from 'arangojs';
import { Cursor } from 'arangojs/cursors';
import { QueryOptions } from 'arangojs/queries';
import { ArangoClient } from './arango.client';
import { ArangoConfig, CollectionImportOpts } from './arango.config';
import { ArangoQueryRequest } from './models';
export declare class ArangoService extends AbstractClientService<ArangoConfig, Database> implements ArangoClient {
    constructor();
    init(config: ArangoConfig): Promise<Database>;
    start(client: Database, conId?: string): Promise<void>;
    stop(client: Database, conId?: string): Promise<void>;
    getCollection(col: string, conId?: string): import("arangojs/collections").DocumentCollection<any, any> & import("arangojs/collections").EdgeCollection<any, any>;
    private getUpsertKey;
    bulkUpsert(col: string, data: {
        docs: any[];
        upsertFields: Array<string>;
    }, opts?: CollectionImportOpts, conId?: string): Promise<void>;
    query<T = any>(q: ArangoQueryRequest, opts?: QueryOptions, conId?: string): Promise<Cursor<T>>;
}
//# sourceMappingURL=arango.service.d.ts.map