export default class Trie { private root; private _size; constructor(); get size(): number; /** * Set a key in the trie to a value * @param key the key to set in the trie * @param value the value to set on the prefix */ set(key: string, value: T): void; /** * Get a value associated with a key in the trie or undefined if no * value is associated with the key. * @param key the key to get from the trie */ get(key: string): T | undefined; /** * Check to see if a key is contained in the trie * @param key the key to check in the trie */ has(key: string): boolean; /** * Empty the trie */ clear(): void; /** * Delete a key from the trie. Returns true if the key is in the trie. * @param key the key to delete in the trie */ delete(key: string): boolean; /** * Find all values in the trie which start with the prefix * @param prefix the prefix to search for in the trie. */ find(prefix: string): Generator<{ key: string; value: T; }>; /** * Find all values in the trie which start with the prefix * @param prefix the prefix to search for in the trie. */ findValues(prefix: string): Generator; private numChildren; }