import { Token, TokenType, Program, VariableDeclaration, FunctionDeclaration, WhileStatement, ImportDeclaration, ExportDeclaration, InterfaceDeclaration, TypeAlias, NamespaceDeclaration, ForStatement, ForInStatement, ForOfStatement, ClassDeclaration } from './types';
export declare class Parser {
    private tokens;
    private current;
    private errors;
    private importHandler;
    private declarationHandler;
    private loopHandler;
    constructor(tokens: Token[]);
    getErrors(): string[];
    parse(): Program;
    private statement;
    variableDeclaration(): VariableDeclaration;
    functionDeclaration(): FunctionDeclaration;
    private blockStatement;
    private ifStatement;
    whileStatement(): WhileStatement;
    forStatement(): ForStatement | ForInStatement | ForOfStatement;
    private detectForLoopType;
    private isTypeKeywordOrIdentifier;
    private parseForOfOrForInLoop;
    private parseTraditionalForLoop;
    private returnStatement;
    private expressionStatement;
    private expression;
    private assignment;
    private tryParseArrowFunction;
    private parseArrowFunctionBody;
    private or;
    private and;
    private bitwiseOr;
    private bitwiseXor;
    private bitwiseAnd;
    private equality;
    private comparison;
    private shift;
    private term;
    private factor;
    private unary;
    private call;
    private applyCallChaining;
    private isLikelyGenericCall;
    private skipGenericTypeArguments;
    private finishCall;
    private createLiteral;
    private parseNewExpression;
    private parseDynamicImport;
    private parseFunctionExpression;
    private createIdentifier;
    private parseLiteralExpression;
    private parseThisOrSuperExpression;
    private parseIdentifierExpression;
    private parseGroupingOrCollection;
    private primary;
    private parseTemplateLiteral;
    private extractExpression;
    private addTextPart;
    private parseTemplateString;
    private tokenizeExpression;
    match(...types: TokenType[]): boolean;
    private check;
    private advance;
    private isAtEnd;
    private peek;
    private peekNext;
    private previous;
    consume(type: TokenType, message: string): Token;
    importDeclaration(): ImportDeclaration;
    private skipNewlines;
    private parseImportOrExportName;
    private createImportSpecifier;
    private parseNamedImports;
    exportDeclaration(): ExportDeclaration;
    private createExportSpecifier;
    private parseExportSpecifiers;
    private matchBuiltinIdentifier;
    private arrayExpression;
    private objectExpression;
    private parseProperty;
    private tryStatement;
    private throwStatement;
    private parseParameter;
    private typeAnnotation;
    private parseType;
    private conditionalType;
    private unionType;
    private intersectionType;
    private primaryType;
    private parseParenthesizedOrArrayType;
    private parseUniqueType;
    private parseLiteralType;
    private parsePrimitiveType;
    private parseGenericOrIdentifierType;
    private parseTupleType;
    private parseObjectType;
    private errorExpectedType;
    private parseTypeParameters;
    private parseInterfaceExtendsClause;
    private parseInterfaceProperties;
    interfaceDeclaration(): InterfaceDeclaration;
    private parseComputedPropertySignature;
    private parseMethodSignature;
    private parsePropertyKeyName;
    private propertySignature;
    private parseClassExtendsClause;
    private parseClassImplementsClause;
    private consumeClassBody;
    classDeclaration(): ClassDeclaration;
    private classBody;
    private recoverFromClassMemberError;
    private shouldContinueErrorRecovery;
    private isAtClassOrNamespaceKeyword;
    private parseAccessibility;
    private parseModifiers;
    private parseMemberName;
    private classMember;
    private constructorMethod;
    private classMethod;
    private classProperty;
    typeAlias(): TypeAlias;
    namespaceDeclaration(): NamespaceDeclaration;
    private parseNamespaceMember;
    private parseSwitchCaseConsequent;
    private parseRegularCase;
    private parseDefaultCase;
    private parseSwitchCases;
    private switchStatement;
    private synchronize;
    private parsePattern;
    private parseArrayPattern;
    private parseObjectPattern;
    private parseIdentifierPattern;
    private parseSpreadElement;
    private breakStatement;
    private continueStatement;
}
//# sourceMappingURL=parser.d.ts.map