export interface TrieNode { children: Map; isEnd: boolean; } /** * Trie (árbol de prefijos) para almacenamiento y búsqueda eficiente de cadenas. * Inserción, búsqueda y eliminación en O(L), donde L es la longitud de la cadena. * Independiente del tamaño del diccionario; mucho más eficiente que un Set para prefijos. */ export declare class Trie { #private; readonly root: TrieNode; /** * Inserta una palabra en el trie. * Si ya existe, no modifica el tamaño. */ insert(word: string): void; /** * Busca si la palabra exacta existe en el trie. */ search(word: string): boolean; /** * Comprueba si alguna palabra del trie comienza con el prefijo dado. */ startsWith(prefix: string): boolean; /** * Elimina una palabra del trie. * Poda las ramas que queden completamente vacías. * @returns true si la palabra existía y fue eliminada, false si no existía. */ delete(word: string): boolean; /** * Retorna todas las palabras del trie que comienzan con el prefijo dado. * Retorna array vacío si no hay coincidencias. */ wordsWithPrefix(prefix: string): string[]; /** * Número de palabras distintas en el trie. */ get size(): number; /** * Indica si el trie está vacío. */ isEmpty(): boolean; /** * Vacía el trie completamente. */ clear(): void; } //# sourceMappingURL=trie.d.ts.map