import { And, Colon, ColonNot, Grouping, IParsingExpression, Lake, Nonterminal, Not, OneOrMore, Optional, OrderedChoice, Rewriting, Sequence, Terminal, ZeroOrMore } from './ParsingExpression';
import { IParsingExpressionVisitor } from './IParsingExpressionVisitor';
import { Peg } from './Peg';
export declare class Indexer implements IParsingExpressionVisitor {
    private readonly indexMap;
    private index;
    private readonly terminals;
    build(peg: Peg): [Map<IParsingExpression, number>, IParsingExpression[]];
    giveIndex(pe: IParsingExpression): void;
    visitNonterminal(pe: Nonterminal): void;
    visitTerminal(pe: Terminal): void;
    visitZeroOrMore(pe: ZeroOrMore): void;
    visitOneOrMore(pe: OneOrMore): void;
    visitOptional(pe: Optional): void;
    visitAnd(pe: And): void;
    visitNot(pe: Not): void;
    visitSequence(pe: Sequence): void;
    visitOrderedChoice(pe: OrderedChoice): void;
    visitGrouping(pe: Grouping): void;
    visitRewriting(pe: Rewriting): void;
    visitColon(pe: Colon): void;
    visitColonNot(pe: ColonNot): void;
    visitLake(pe: Lake): void;
}
//# sourceMappingURL=Indexer.d.ts.map