/*! Copyright 2023-2024 the gnablib contributors MPL-1.1 */
import type { WindowStr } from '../../primitive/WindowStr.js';
import { IMatcher } from '../interfaces/IMatcher.js';
import { INode } from '../interfaces/INode.js';
declare const consoleDebugSymbol: unique symbol;
export declare class Nfa {
    debug: boolean;
    private _start;
    private _end;
    constructor();
    get start(): INode;
    get end(): INode;
    concat(...by: (IMatcher | Nfa)[]): Nfa;
    union(...across: (IMatcher | Nfa)[]): Nfa;
    repeat(what: IMatcher, min: number, max?: number): Nfa;
    zeroOrMore(): Nfa;
    zeroOrOne(): Nfa;
    oneOrMore(): Nfa;
    private addNextState;
    search(str: WindowStr): number;
    [consoleDebugSymbol](): string;
}
export {};
