import { File } from "../index";
import { TokenType } from "../tokenizer/types";
import ExpressionParser from "./expression";
export default class StatementParser extends ExpressionParser {
    parseTopLevel(): File;
    parseStatement(declaration: boolean, topLevel?: boolean): void;
    parseStatementContent(declaration: boolean, topLevel: boolean): void;
    parseDecorators(): void;
    parseDecorator(): void;
    parseBreakContinueStatement(): void;
    parseDebuggerStatement(): void;
    parseDoStatement(): void;
    parseForStatement(): void;
    parseAmbiguousForStatement(): void;
    parseFunctionStatement(): void;
    parseIfStatement(): void;
    parseReturnStatement(): void;
    parseSwitchStatement(): void;
    parseThrowStatement(): void;
    parseTryStatement(): void;
    parseVarStatement(kind: TokenType): void;
    parseWhileStatement(): void;
    parseEmptyStatement(): void;
    parseLabeledStatement(): void;
    /**
     * Parse a statement starting with an identifier of the given name. Subclasses match on the name
     * to handle statements like "declare".
     */
    parseIdentifierStatement(name: string): void;
    parseBlock(allowDirectives?: boolean, isFunctionScope?: boolean, contextId?: number): void;
    parseBlockBody(topLevel: boolean, end: TokenType): void;
    parseFor(): void;
    parseForIn(forAwait: boolean): void;
    parseVar(isFor: boolean, kind: TokenType): void;
    parseVarHead(isBlockScope: boolean): void;
    parseFunction(functionStart: number, isStatement: boolean, allowExpressionBody?: boolean, optionalId?: boolean): void;
    parseFunctionParams(allowModifiers?: boolean, funcContextId?: number): void;
    parseClass(isStatement: boolean, optionalId?: boolean): void;
    isClassProperty(): boolean;
    isClassMethod(): boolean;
    parseClassBody(classContextId: number): void;
    parseClassMember(memberStart: number, classContextId: number): void;
    parseClassMemberWithIsStatic(memberStart: number, isStatic: boolean, classContextId: number): void;
    parseClassMethod(functionStart: number, isGenerator: boolean, isConstructor: boolean): void;
    parseClassPropertyName(classContextId: number): void;
    parsePostMemberNameModifiers(): void;
    parseClassProperty(): void;
    parseClassId(isStatement: boolean, optionalId?: boolean): void;
    parseClassSuper(): boolean;
    parseExport(): void;
    parseExportDefaultExpression(): void;
    parseExportDeclaration(): void;
    isExportDefaultSpecifier(): boolean;
    parseExportSpecifiersMaybe(): void;
    parseExportFrom(): void;
    shouldParseExportStar(): boolean;
    parseExportStar(): void;
    parseExportNamespace(): void;
    shouldParseExportDeclaration(): boolean;
    parseExportSpecifiers(): void;
    parseImport(): void;
    shouldParseDefaultImport(): boolean;
    parseImportSpecifierLocal(): void;
    parseImportSpecifiers(): void;
    parseImportSpecifier(): void;
}
