//#region src/_experiments/bitcask.d.ts
declare class Bitcask {
  private dirname;
  private readWrite;
  private syncOnPut;
  private keydir;
  private activeFile;
  private activeFileId;
  private activeOffset;
  private openFiles;
  constructor(dirname: string, opts?: {
    readWrite?: boolean;
    syncOnPut?: boolean;
  });
  private listDataFiles;
  private loadFiles;
  private rollover;
  put(key: string | Buffer, value: string | Buffer): Promise<void>;
  get(key: string | Buffer): Promise<Buffer | null>;
  delete(key: string | Buffer): Promise<void>;
  listKeys(): string[];
  fold<T>(fn: (k: string, v: Buffer, acc: T) => T, acc0: T): Promise<T>;
  merge(): Promise<void>;
  sync(): void;
  close(): Promise<void>;
}
declare function open(dirname: string, opts?: {
  readWrite?: boolean;
  syncOnPut?: boolean;
}): Bitcask;
declare function get(handle: Bitcask, key: string | Buffer): Promise<Buffer<ArrayBufferLike> | "not found">;
declare function put(handle: Bitcask, key: string | Buffer, value: string | Buffer): Promise<string>;
declare function del(handle: Bitcask, key: string | Buffer): Promise<string>;
declare function listKeys(handle: Bitcask): string[];
declare function fold<T>(handle: Bitcask, fn: (k: string, v: Buffer, acc: T) => T, acc0: T): Promise<T>;
declare function merge(dirname: string): Promise<string>;
declare function sync(handle: Bitcask): string;
declare function close(handle: Bitcask): Promise<string>;
//#endregion
export { Bitcask, close, del, fold, get, listKeys, merge, open, put, sync };
//# sourceMappingURL=bitcask.d.cts.map