///
///
import { IStorage, IStorageRaw } from "./IStorage";
interface TransactionEntry {
key: string;
value: Buffer | undefined;
isZipped: boolean;
time: number;
}
export declare class TransactionStorage implements IStorage {
private rawStorage;
private debugName;
private writeDelay;
private resyncFromDisk;
cache: Map;
private diskFiles;
private currentChunk;
private entryCount;
private static allStorage;
constructor(rawStorage: IStorageRaw, debugName: string, writeDelay?: number, resyncFromDisk?: boolean);
static compressAll(): Promise;
private resyncCallbacks;
watchResync(callback: () => void): void;
private init;
private getCurrentChunk;
private updateDiskFileTimestamp;
private onAddToChunk;
get(key: string): Promise;
set(key: string, value: Buffer): Promise;
remove(key: string): Promise;
getInfo(key: string): Promise<{
size: number;
lastModified: number;
} | undefined>;
private pendingAppends;
private extraAppends;
private pendingWrite;
pushAppend(entry: TransactionEntry): Promise;
private updatePendingAppends;
getKeys(): Promise;
checkDisk(): Promise;
private loadAllTransactions;
private parseTransactionFile;
private applyTransactionEntries;
private readTransactionEntry;
private serializeTransactionEntry;
private getHeader;
private chunkBuffers;
private compressing;
private compressTransactionLog;
reset(): Promise;
}
export {};