export interface EmptyNode { values: Map>; value: V | undefined; } export interface ValueNode { values: Map>; value: V; } export type Node = EmptyNode | ValueNode; export type Trie = Node | undefined; export interface Seq { [index: number]: T; length: number; } export declare function insertValue(trie: Trie, keys: Seq, value: V, index?: number): Node; export declare function getNodeByKeys(trie: Trie, keys: Seq): Trie; export declare function getValueByKeys(trie: Trie, keys: Seq): V | undefined; export declare function getNodeByShortestPrefix(trie: Trie, keys: Seq): Trie;