export declare class TrieNode {
    children: Record<string, TrieNode>;
    isWord: boolean;
}
export declare class Trie {
    root: TrieNode;
    constructor(words?: string[]);
    /**
     * Insert a new word
     * @param word
     */
    insert(word: string): void;
    /**
     * Whether the exact word is matched
     * @param word
     * @returns
     */
    contains(word: string): boolean;
    /**
     * Whether the text includes any matches
     * @param text
     * @returns
     */
    containsIn(text: string): boolean;
    /**
     * Match the length
     * @param text
     * @param start
     * @returns
     */
    matchLengthAt(text: string, start: number): number;
}
