import { MessageInterface } from '../communication-interface/MessageInterface';
import { ContactManager } from '../contact-management/ContactManager';
import { LongAsyncRemoteFunction } from '../objectTransport/LongAsyncRemoteFunction';
import { BaseDto, DtoClass, ObjectStore } from './DBAccess';
import { DBFactory } from './DBFactory';
export interface BaseDataStoreClass {
    new (dbFactory: DBFactory, messageInterface: MessageInterface, contactManager: ContactManager): BaseDataStore;
}
export declare class BaseDataStore {
    private dbFactory;
    private messageInterface;
    protected contactManager: ContactManager;
    protected _initPromise: Promise<void>;
    private _larfList;
    getLarfList(): Promise<LongAsyncRemoteFunction<any>[]>;
    protected init(): Promise<void>;
    constructor(dbFactory: DBFactory, messageInterface: MessageInterface, contactManager: ContactManager);
    getLarf<T>(nameSpace: string): LongAsyncRemoteFunction<T>;
    getDao<T extends ObjectStore<BaseDto>>(objectClass: DtoClass): Promise<T>;
}
//# sourceMappingURL=DataStore.d.ts.map