export * from "./api.js"; export function lookupCollision, X>(node: API.HashCollisionNode, name: K, notFound: X): T | X; export function associateCollision, R extends string>(node: API.HashCollisionNode, edit: API.Edit | null, key: ReturnType, name: K | R, value: T, addedLeaf: { value: boolean; }): API.HashCollisionNode; export function dissociateCollision>(node: API.HashCollisionNode, edit: API.Edit | null, hash: ReturnType, name: K, removedLeaf: { value: boolean; }): API.Node; export function forkCollision>(node: API.HashCollisionNode, edit?: API.Edit | null): API.HashCollisionNode; export function create>(config: C, edit?: API.Edit | null | undefined): API.BitmapIndexedNode; export function get(node: API.BitmapIndexedNode>, key: K, notFound: U): T | U; export function lookup(node: API.BitmapIndexedNode>, depth: API.Uint32, path: Bits, key: K, notFound: U): T | U; export function set>(node: API.BitmapIndexedNode, edit: API.Edit | null, key: R, value: T, addedLeaf: { value: boolean; }): API.BitmapIndexedNode; export function associate>(node: API.BitmapIndexedNode, edit: API.Edit | null, depth: API.Uint32, path: ReturnType, key: K | R, value: T, addedLeaf: { value: boolean; }): API.BitmapIndexedNode; export function dissociate>(source: API.BitmapIndexedNode, edit: API.Edit | null, depth: API.Uint32, path: ReturnType, key: K, removedLeaf: { value: boolean; }): API.BitmapIndexedNode; export function entries>({ children }: API.Node): IterableIterator<[K, T]>; export function fork>(node: API.BitmapIndexedNode, edit: API.Edit | null): API.BitmapIndexedNode; export function keys>({ children }: API.Node): IterableIterator; export function values>({ children }: API.Node): IterableIterator; export function forkAndSet>(node: API.BitmapIndexedNode, edit: API.Edit | null, offset: number, value: T): API.BitmapIndexedNode; export function inlineChild>(source: API.BitmapIndexedNode, edit: API.Edit | null, offset: number, child: API.Node): API.BitmapIndexedNode; export function copyAndSetChild>(node: API.BitmapIndexedNode, edit: API.Edit | null, offset: number, child: API.Node): API.BitmapIndexedNode; export function migrateLeafToBranch>(source: API.BitmapIndexedNode, edit: API.Edit | null, offset: number, branch: API.Node): API.BitmapIndexedNode; export function mergeTwoLeaves>(config: C, edit: API.Edit | null, depth: number, oldPath: ReturnType, oldKey: K, oldValue: T, newPath: ReturnType, newKey: K, newValue: T): API.Node; export function keyAt({ children }: API.BitmapIndexedNode>, index: number): K; export function keyPosition(index: number): number; export function valueAt({ children }: API.BitmapIndexedNode>, index: number): T; export function valuePosition(index: number): number; export function resolveNode>(node: API.BitmapIndexedNode, offset: number): API.BitmapIndexedNode | API.HashCollisionNode; import * as API from "./api.js"; /** * @template T * @template {string} K * @template {API.Config} C * @implements {API.HashCollisionNode} */ declare class HashCollisionNode> implements API.HashCollisionNode { /** * @param {API.Edit|null} edit * @param {number} count * @param {API.CollisionEntries} children * @param {C} config */ constructor(edit: API.Edit | null, count: number, children: API.CollisionEntries, config: C); edit: API.Edit | null; count: number; children: API.CollisionEntries; config: C; get nodeArity(): 0; get dataArity(): number; /** * @template X * @param {API.Uint32} _shift * @param {unknown} _path * @param {K} key * @param {X} notFound * @returns {T|X} */ lookup(_shift: API.Uint32, _path: unknown, key: K, notFound: X): T | X; /** * @template {string} R * @param {API.Edit|null} edit * @param {API.Uint32} _shift * @param {ReturnType} path * @param {K|R} key * @param {T} value * @param {{value:boolean}} addedLeaf * @returns {API.HashCollisionNode} */ associate(edit: API.Edit | null, _shift: API.Uint32, path: ReturnType, key: K | R, value: T, addedLeaf: { value: boolean; }): API.HashCollisionNode; /** * @param {API.Edit|null} edit * @param {API.Uint32} _shift * @param {ReturnType} path * @param {K} key * @param {{value:boolean}} removedLeaf * @returns {API.Node} */ dissociate(edit: API.Edit | null, _shift: API.Uint32, path: ReturnType, key: K, removedLeaf: { value: boolean; }): API.Node; /** * @param {API.Edit|null} edit * @returns {this} */ fork(edit?: API.Edit | null): this; /** * @returns {IterableIterator<[K, T]>} */ entries(): IterableIterator<[K, T]>; /** * @returns {IterableIterator} */ keys(): IterableIterator; /** * @returns {IterableIterator} */ values(): IterableIterator; } /** * @template T * @template {string} K * @template {API.Config} C * @implements {API.BitmapIndexedNode} */ declare class BitmapIndexedNode> implements API.BitmapIndexedNode { /** * @param {API.Edit|null} edit * @param {ReturnType} datamap * @param {ReturnType} nodemap * @param {API.Children} children * @param {C} config */ constructor(edit: API.Edit | null, datamap: ReturnType, nodemap: ReturnType, children: API.Children, config: C); edit: API.Edit | null; config: C; datamap: ReturnType; nodemap: ReturnType; children: API.Children; get nodeArity(): number; get dataArity(): number; /** * @returns {API.BitmapIndexedNode} */ empty(): API.BitmapIndexedNode; /** * @template X * @param {API.Uint32} depth * @param {ReturnType} path * @param {K} key * @param {X} notFound * @returns {T|X} */ lookup(depth: API.Uint32, path: ReturnType, key: K, notFound: X): T | X; /** * @template {string} R * @param {API.Edit|null} edit * @param {API.Uint32} depth * @param {ReturnType} path * @param {K|R} key * @param {T} value * @param {{value:boolean}} addedLeaf * @returns {API.BitmapIndexedNode} */ associate(edit: API.Edit | null, depth: API.Uint32, path: ReturnType, key: K | R, value: T, addedLeaf: { value: boolean; }): API.BitmapIndexedNode; /** * @param {API.Edit|null} edit * @param {API.Uint32} depth * @param {ReturnType} path * @param {K} key * @param {{value:boolean}} removedLeaf * @returns {API.BitmapIndexedNode} */ dissociate(edit: API.Edit | null, depth: API.Uint32, path: ReturnType, key: K, removedLeaf: { value: boolean; }): API.BitmapIndexedNode; /** * @param {API.Edit|null} edit * @returns {API.BitmapIndexedNode} */ fork(edit?: API.Edit | null): API.BitmapIndexedNode; /** * @returns {IterableIterator<[K, T]>} */ entries(): IterableIterator<[K, T]>; /** * @returns {IterableIterator} */ keys(): IterableIterator; /** * @returns {IterableIterator} */ values(): IterableIterator; } /** * @template T * @template {string} K * @template {API.Config} C * @param {API.BitmapIndexedNode} node * @param {API.Edit|null} edit * @param {K} key * @param {{ value: boolean }} removedLeaf * @returns {API.BitmapIndexedNode} */ declare function remove>(node: API.BitmapIndexedNode, edit: API.Edit | null, key: K, removedLeaf: { value: boolean; }): API.BitmapIndexedNode; export { API, remove as delete, _delete as delete }; //# sourceMappingURL=node.d.ts.map