///
import type { LevelupDatabase } from './database';
import type { LevelupStore } from './store';
import { BufferMap, BufferSet } from 'buffer-map';
import { MutexUnlockFunction } from '../../mutex';
import { DatabaseSchema, IDatabaseTransaction, SchemaKey, SchemaValue } from '../database';
import { LevelupBatch } from './batch';
export declare class LevelupTransaction implements IDatabaseTransaction {
db: LevelupDatabase;
batch: LevelupBatch;
committing: boolean;
aborting: boolean;
cache: BufferMap;
cacheDelete: BufferSet;
unlock: MutexUnlockFunction | null;
waiting: Promise | null;
waitingResolve: (() => void) | null;
id: number;
static id: number;
constructor(db: LevelupDatabase);
get size(): number;
acquireLock(): Promise;
releaseLock(): void;
has(store: LevelupStore, key: SchemaKey): Promise;
get(store: LevelupStore, key: SchemaKey): Promise | undefined>;
put(store: LevelupStore, key: SchemaKey, value: SchemaValue): Promise;
add(store: LevelupStore, key: SchemaKey, value: SchemaValue): Promise;
del(store: LevelupStore, key: SchemaKey): Promise;
update(): Promise;
commit(): Promise;
abort(): Promise;
private assertIsSameDatabase;
private assertCanRead;
private assertCanWrite;
}
//# sourceMappingURL=transaction.d.ts.map