import { BaseDto, DtoClass, ObjectStore } from './DBAccess';
import { TransactionManager } from './Transaction';
export interface ObjectStoreInitializer {
    objectStore: DtoClass;
    objectStoreName: string;
}
export declare class DBFactory {
    transactionManager: TransactionManager;
    private stores;
    initPromise: Promise<void>;
    private dtoClasses;
    getDtoClasses(): DtoClass[];
    constructor(classes: DtoClass[], dbName?: string);
    getDao<T extends ObjectStore<BaseDto>>(objectClass: DtoClass): Promise<T>;
    getObjectById(id: string): Promise<BaseDto | undefined>;
}
export declare function createFactory(classes: DtoClass[]): void;
export declare function getFactory(): DBFactory;
//# sourceMappingURL=DBFactory.d.ts.map