export default class AhoCorasick {
    private root;
    currentState: number;
    wordset: Set<string>;
    constructor(config: {
        targets: string[];
    });
    addWord(wordlist: string[]): void;
    private initACStateTree;
    /**
     * @param root tireTree root
     *
     * how to get each node's backNode:
     * 1. if node is root, backnode points to itself
     * 2. if parents are root, backnode points to root
     * 3. find childNode of parentNode's backNode, if the character value are same,
     *    then that childNode is this node's backNode
     * 4. (loop) childNode of parentNode's backNode doesn't fit current node,
     *    continue to find parentNode's parentNode
     */
    private setBackNode;
    /**
     * @param text search text
     *
     */
    search(text: string): {
        pos: number;
        word: string;
    }[];
    private getWord;
}
