/**
 * Aho-Corasick algorithm implementation for efficient multi-pattern string matching
 */
export interface Match {
    pattern: string;
    start: number;
    end: number;
    patternIndex: number;
}
export declare class AhoCorasick {
    private root;
    private patterns;
    private compiled;
    constructor(patterns?: string[]);
    /**
     * Create a new trie node
     */
    private createNode;
    /**
     * Add patterns to the automaton
     */
    addPatterns(patterns: string[]): void;
    /**
     * Add a single pattern to the automaton
     */
    addPattern(pattern: string): void;
    /**
     * Build the Aho-Corasick automaton
     */
    private buildAutomaton;
    /**
     * Build the trie structure
     */
    private buildTrie;
    /**
     * Build failure links using BFS
     */
    private buildFailureLinks;
    /**
     * Build output links for failure transitions
     */
    private buildOutputLinks;
    /**
     * Find all pattern matches in the given text
     */
    findAll(text: string): Match[];
    /**
     * Check if text contains any patterns
     */
    hasMatch(text: string): boolean;
    /**
     * Find first match in text
     */
    findFirst(text: string): Match | null;
    /**
     * Get the patterns stored in this automaton
     */
    getPatterns(): string[];
    /**
     * Clear all patterns and reset the automaton
     */
    clear(): void;
    /**
     * Get statistics about the automaton
     */
    getStats(): {
        patternCount: number;
        nodeCount: number;
        averagePatternLength: number;
    };
    /**
     * Count total nodes in the trie
     */
    private countNodes;
}
