import { ComparitorNode, ExpressionNode, ExpressionNodeTree, LexerToken, ASTNode } from './Lexer';
declare class TokenParser {
    index: number;
    tokens: LexerToken[];
    parse(expression: string): ASTNode;
    private loadTokens;
    expression(rbp: number): ASTNode;
    private lookahead;
    private lookaheadToken;
    private advance;
    nud(token: LexerToken): ASTNode;
    led(tokenName: string, left: ExpressionNodeTree): ExpressionNode | ComparitorNode;
    private match;
    private errorToken;
    private parseIndexExpression;
    private projectIfSlice;
    private parseSliceExpression;
    private parseComparator;
    private parseDotRHS;
    private parseProjectionRHS;
    private parseMultiselectList;
    private parseMultiselectHash;
}
export declare const Parser: TokenParser;
export default Parser;
