import { JavascriptAst } from './JavascriptAst';
export declare class JavascriptAstParsser {
    private input;
    static nonASCIIwhitespace: RegExp;
    private pos;
    private currentToken;
    private excutionFlag;
    private startTokens;
    private stringStartToken;
    private tokens;
    private parsingNode;
    private currentLine;
    private isParsingFunDeclaration;
    private isParsingLoop;
    private depth;
    private isParsingVarDeclaration;
    ast: JavascriptAst;
    private get curCharCode();
    private get nextCharCode();
    private get curChar();
    constructor(input: string);
    parse(analyze?: boolean): JavascriptAst;
    private isReadAll;
    private isLineEnd;
    private advance;
    private markPos;
    private skipSpace;
    private consumeNextWordIfMatch;
    private isNextWordIs;
    private startParse;
    private expectToken;
    private expectExpressionEnd;
    private parseNode;
    private next;
    private readWord;
    private readIllegalToken;
    private readNumber;
    private consumeNumber;
    private readString;
    private consumeString;
    private readIdentifier;
    private consumeIdentifier;
    private readOperator;
    private safelyParseNode;
    private getExpectedNode;
    private expectExpression;
    private tryToGetExpectedNode;
    private parseBlock;
    private parseUnaryExpression;
    private parseImportStatement;
    private getImportedSpecifiers;
    private parseVarDeclarationStatement;
    private parseFunDeclarationStatement;
    private tryParseFunciotnExpress;
    private parseObjLiteralExp;
    private parseArrExp;
    private parseTryCatchStatment;
    private parseCatchHandler;
    private parseDoWihleStatement;
    private parseWhileStatment;
    private parseExpressions;
    private parseForStatement;
    private parseRegStatement;
    private parseIfStatement;
    private parseBreakStatement;
    private parseReturnStatement;
    private parseContinueStatement;
    private parseSwitchStatement;
    private parseCaseStatement;
    private parseThrowStatement;
    private parseWithStatement;
    private parseDeleteStatement;
    private parseNewStatement;
    private parseClassDeclarationStatement;
    private parseClassMehod;
    private parseExportStatement;
    private parseTypeOfExpression;
    private parseVoidExpression;
    private parseTemplateLiteralExp;
    private parseBracketEnwrapedExpression;
    private tryParse;
    private tryParseTernary;
    private tryParseMember;
    private tryParseComputedMember;
    private tryToParseCallExpression;
    private tryParseSuffixUnary;
    private tryParseAssign;
    private parseBinaryExpression;
    private parseIsStartWithKeyword;
    private skipLineComment;
    private skipBlockComment;
    private consumeBinary;
    private consumeHex;
    private consumeUnexpect;
}
