import { DataServiceDriver, FilterQuery, FindOptions, Constructor } from '@openhps/core';
import { DatabaseOptions } from './DatabaseOptions';
export declare class MongoDataServiceDriver<I, T> extends DataServiceDriver<I, T> {
    protected options: DatabaseOptions;
    private _db;
    private _client;
    private _collection;
    constructor(dataType: Constructor<T>, options: DatabaseOptions);
    connect(): Promise<void>;
    createIndex(dataMember: any): Promise<void>;
    disconnect(): Promise<void>;
    findByUID(id: I): Promise<T>;
    findOne(query?: FilterQuery<T>, options?: FindOptions): Promise<T>;
    findAll(query?: FilterQuery<T>, options?: FindOptions): Promise<T[]>;
    insert(id: I, object: T): Promise<T>;
    count(query?: FilterQuery<T>): Promise<number>;
    delete(id: I): Promise<void>;
    deleteAll(query?: FilterQuery<T>): Promise<void>;
    private _checkIfReady;
}
