import { MessageInterface } from '../communication-interface/MessageInterface';
import { ContactManager } from '../contact-management/ContactManager';
import { BaseDataStoreClass } from '../db/DataStore';
import { BaseDto } from '../db/DBAccess';
import { DBFactory } from '../db/DBFactory';
declare class TransactionDto implements BaseDto {
    id?: string;
    userId: string;
    larfCode: string;
    static get dbName(): string;
    constructor(userId: string, larfCode: string);
}
export declare class TransactionChain {
    private dbFactory;
    private contactManager;
    private dataStoreClasses;
    private messageInterface;
    private _initPromise;
    private _transactionDbFactory;
    private _transactionDao?;
    constructor(dbFactory: DBFactory, contactManager: ContactManager, dataStoreClasses: BaseDataStoreClass[], messageInterface: MessageInterface);
    private dbDataStores;
    private dbLarfs;
    init(): Promise<void>;
    private addTimestampToDto;
    addTransaction(newTransaction: TransactionDto): Promise<void>;
    private restoreDBFromTransactionlog;
    private emulationSemaphore;
    private emulateTransactions;
}
export {};
//# sourceMappingURL=TransactionChain.d.ts.map