/** @internal */ export declare class Node { key?: string | undefined; value?: T | undefined; children: Map>; constructor(key?: string | undefined, value?: T | undefined, children?: Map>); } /** @internal */ export type KeySplitter = (key: string) => string[]; /** @internal */ export declare enum TrieOp { Insert = 0, Delete = 1, Find = 2 } /** @internal */ export declare class Trie { protected root: Node; protected split_key: KeySplitter; constructor(split: KeySplitter | string); protected find_node(key: string, op: TrieOp): Node | undefined; insert(key: string, value: T): void; remove(key: string): void; find(key: string): T | undefined; }