import { IParseTree } from './ParseTree';
import { And, Colon, ColonNot, Grouping, Lake, Nonterminal, Not, OneOrMore, Optional, OrderedChoice, Rewriting, Sequence, Terminal, ZeroOrMore } from './ParsingExpression';
import { IParsingExpressionVisitor } from './IParsingExpressionVisitor';
import { IParsingEnv } from './IParsingEnv';
import { Position } from './Position';
export declare class Recognizer implements IParsingExpressionVisitor<[Position], [IParseTree, Position] | null> {
    private env;
    constructor(env: IParsingEnv);
    visitNonterminal(pe: Nonterminal, pos: Position): [IParseTree, Position] | null;
    visitTerminal(pe: Terminal, pos: Position): [IParseTree, Position] | null;
    visitZeroOrMore(pe: ZeroOrMore, pos: Position): [IParseTree, Position] | null;
    visitOneOrMore(pe: OneOrMore, pos: Position): [IParseTree, Position] | null;
    visitOptional(pe: Optional, pos: Position): [IParseTree, Position] | null;
    visitAnd(pe: And, pos: Position): [IParseTree, Position] | null;
    visitNot(pe: Not, pos: Position): [IParseTree, Position] | null;
    visitSequence(pe: Sequence, pos: Position): [IParseTree, Position] | null;
    visitOrderedChoice(pe: OrderedChoice, pos: Position): [IParseTree, Position] | null;
    visitGrouping(pe: Grouping, pos: Position): [IParseTree, Position] | null;
    visitRewriting(pe: Rewriting, pos: Position): [IParseTree, Position] | null;
    visitColon(pe: Colon, pos: Position): [IParseTree, Position] | null;
    visitColonNot(pe: ColonNot, pos: Position): [IParseTree, Position] | null;
    visitLake(pe: Lake, pos: Position): [IParseTree, Position] | null;
}
//# sourceMappingURL=Recognizer.d.ts.map