import { AtomicCheck, KvCommitError, KvCommitResult, KvConsistencyLevel, KvEntry, KvEntryMaybe, KvKey, KvListOptions, KvListSelector, KvMutation } from "./kv_types.js"; import { BaseKv, CursorHolder, DecodeV8, EncodeV8, Enqueue } from "./kv_util.js"; import { AtomicWrite, AtomicWriteOutput, SnapshotRead, SnapshotReadOutput, WatchKeyOutput } from "./proto/messages/com/deno/kv/datapath/index.js"; export { UnknownV8 } from "./v8.js"; export declare abstract class ProtoBasedKv extends BaseKv { protected readonly decodeV8: DecodeV8; protected readonly encodeV8: EncodeV8; constructor(debug: boolean, decodeV8: DecodeV8, encodeV8: EncodeV8); protected abstract snapshotRead(req: SnapshotRead, consistency: KvConsistencyLevel | undefined): Promise; protected abstract atomicWrite(req: AtomicWrite): Promise; protected get_(key: KvKey, consistency?: KvConsistencyLevel): Promise>; protected getMany_(keys: readonly KvKey[], consistency?: KvConsistencyLevel): Promise[]>; protected commit(checks: AtomicCheck[], mutations: KvMutation[], enqueues: Enqueue[]): Promise; protected listStream(outCursor: CursorHolder, selector: KvListSelector, { batchSize, consistency, cursor: cursorOpt, limit, reverse }?: KvListOptions): AsyncGenerator>; } export declare class WatchCache { private readonly decodeV8; private readonly keys; private readonly lastValues; constructor(decodeV8: DecodeV8, keys: readonly KvKey[]); processOutputKeys(outputKeys: WatchKeyOutput[]): KvEntryMaybe[]; }