import type { BPTreeCondition, BPTreeConstructorOption, BPTreePair, BPTreeSearchOption, BPTreeUnknownNode, SerializableData, IBPTree } from './types'; import { Ryoiki } from 'ryoiki'; import { SerializeStrategyAsync } from './SerializeStrategyAsync'; import { ValueComparator } from './base/ValueComparator'; import { BPTreeTransaction } from './base/BPTreeTransaction'; export declare class BPTreePureAsync implements IBPTree { protected readonly strategy: SerializeStrategyAsync; protected readonly comparator: ValueComparator; protected readonly option: BPTreeConstructorOption; protected readonly lock: Ryoiki; private readonly _cachedRegexp; private readonly _verifierMap; private readonly _searchConfigs; constructor(strategy: SerializeStrategyAsync, comparator: ValueComparator, option?: BPTreeConstructorOption); private _ensureValues; private _createReadOps; private _createBufferedOps; private _readCtx; private _createCtx; protected writeLock(fn: () => Promise): Promise; init(): Promise; getRootNode(): Promise>; getRootId(): Promise; getOrder(): Promise; verify(nodeValue: V, condition: BPTreeCondition): boolean; get(key: K): Promise; exists(key: K, value: V): Promise; keysStream(condition: BPTreeCondition, options?: BPTreeSearchOption): AsyncGenerator; whereStream(condition: BPTreeCondition, options?: BPTreeSearchOption): AsyncGenerator<[K, V]>; keys(condition: BPTreeCondition, options?: BPTreeSearchOption): Promise>; where(condition: BPTreeCondition, options?: BPTreeSearchOption): Promise>; insert(key: K, value: V): Promise; delete(key: K, value?: V): Promise; batchInsert(entries: [K, V][]): Promise; batchDelete(entries: [K, V?][]): Promise; bulkLoad(entries: [K, V][]): Promise; getHeadData(): Promise; setHeadData(data: SerializableData): Promise; static ChooseDriver: typeof BPTreeTransaction.ChooseDriver; }