import type { TransactionResult } from 'mvcc-api'; import type { AsyncBPTreeMVCC, BPTreeCondition, BPTreeConstructorOption, BPTreeNode, BPTreeNodeKey, BPTreePair, BPTreeUnknownNode, SerializableData, SerializeStrategyHead, BPTreeSearchOption, BPTreeLeafNode } from '../types'; import { Ryoiki } from 'ryoiki'; import { getPairsGeneratorAsync } from '../base/BPTreeAlgorithmAsync'; import { BPTreeTransaction } from '../base/BPTreeTransaction'; import { SerializeStrategyAsync } from '../SerializeStrategyAsync'; import { ValueComparator } from '../base/ValueComparator'; export declare class BPTreeAsyncTransaction extends BPTreeTransaction { protected readonly rootTx: BPTreeAsyncTransaction; protected readonly mvccRoot: AsyncBPTreeMVCC; protected readonly mvcc: AsyncBPTreeMVCC; protected readonly strategy: SerializeStrategyAsync; protected readonly comparator: ValueComparator; protected readonly option: BPTreeConstructorOption; protected readonly lock: Ryoiki; private _ops; private _ctx; private _verifierMapCached; private _searchConfigsCached; constructor(rootTx: BPTreeAsyncTransaction | null, mvccRoot: AsyncBPTreeMVCC, mvcc: AsyncBPTreeMVCC, strategy: SerializeStrategyAsync, comparator: ValueComparator, option?: BPTreeConstructorOption); private _initAlgoContext; protected writeLock(id: number, fn: () => Promise): Promise; getRootNode(): Promise>; protected getNode(id: string): Promise>; protected _createNode(leaf: boolean, keys: string[] | K[][], values: V[], parent?: string | null, next?: string | null, prev?: string | null): Promise>; protected _updateNode(node: BPTreeUnknownNode): Promise; protected _deleteNode(node: BPTreeUnknownNode): Promise; protected _readHead(): Promise; protected _writeHead(head: SerializeStrategyHead): Promise; protected _insertAtLeaf(node: BPTreeUnknownNode, key: BPTreeNodeKey, value: V): Promise>; protected _insertInParent(node: BPTreeUnknownNode, value: V, newSiblingNode: BPTreeUnknownNode): Promise; protected locateLeaf(value: V): Promise>; protected findLowerBoundLeaf(value: V): Promise>; protected findUpperBoundLeaf(value: V): Promise>; protected findOuterBoundaryLeaf(value: V, direction: 1 | -1): Promise | null>; protected leftestNode(): Promise>; protected rightestNode(): Promise>; protected getPairsGenerator(startNode: Parameters>[1], endNode: Parameters>[2], direction: 1 | -1): AsyncGenerator<[BPTreeNodeKey, V], void, unknown>; init(): Promise; protected _initInternal(): Promise; reload(): Promise; protected _reloadInternal(): Promise; exists(key: K, value: V): Promise; get(key: K): 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; batchInsert(entries: [K, V][]): Promise; bulkLoad(entries: [K, V][]): Promise; protected _deleteEntry(node: BPTreeUnknownNode, key: BPTreeNodeKey): Promise>; delete(key: K, value?: V): Promise; batchDelete(entries: [K, V?][]): Promise; getHeadData(): Promise; setHeadData(data: SerializableData): Promise; commit(label?: string): Promise>>; rollback(): Promise>>; }