import { DataAccessTypes } from '@requestnetwork/types';
export declare abstract class CombinedDataAccess implements DataAccessTypes.IDataAccess {
    protected reader: DataAccessTypes.IDataRead;
    protected writer: DataAccessTypes.IDataWrite;
    constructor(reader: DataAccessTypes.IDataRead, writer: DataAccessTypes.IDataWrite);
    initialize(): Promise<void>;
    close(): Promise<void>;
    skipPersistence(): boolean;
    getTransactionsByChannelId(channelId: string, updatedBetween?: DataAccessTypes.ITimestampBoundaries | undefined): Promise<DataAccessTypes.IReturnGetTransactions>;
    getChannelsByTopic(topic: string, updatedBetween?: DataAccessTypes.ITimestampBoundaries | undefined): Promise<DataAccessTypes.IReturnGetChannelsByTopic>;
    getChannelsByMultipleTopics(topics: string[], updatedBetween?: DataAccessTypes.ITimestampBoundaries): Promise<DataAccessTypes.IReturnGetChannelsByTopic>;
    persistTransaction(transactionData: DataAccessTypes.ITransaction, channelId: string, topics?: string[] | undefined): Promise<DataAccessTypes.IReturnPersistTransaction>;
}
//# sourceMappingURL=combined-data-access.d.ts.map