import { Token } from '../token'; import * as Types from './types'; import { ScopeState } from './scope'; import { ParserState, Context, BindingKind, Origin, Label } from './common'; export declare function parseStatementList(parser: ParserState, context: Context, scope: ScopeState): Types.Statement[]; export declare function parseStatementListItem(parser: ParserState, context: Context, scope: ScopeState, origin: Origin, labels: any, nestedLabels: Label[] | null): Types.Statement; export declare function parseStatement(parser: ParserState, context: Context, scope: ScopeState, origin: Origin, labels: Label[], nestedLabels: Label[] | null, allowFuncDecl: 0 | 1): Types.Statement; export declare function parseLabelledStatement(parser: ParserState, context: Context, scope: ScopeState, origin: Origin, labels: Label[], nestedLabels: Label[] | null, value: string, token: Token, expr: Types.Identifier, allowFuncDecl: 0 | 1, start: number, line: number, column: number): Types.LabeledStatement; export declare function parseImportDeclaration(parser: ParserState, context: Context): Types.Statement; export declare function parseAsyncStatement(parser: ParserState, context: Context, scope: ScopeState, origin: Origin, labels: Label[], allowFuncDecl: 0 | 1): Types.AsyncDeclaration; export declare function parseBlock(parser: ParserState, context: Context, scope: ScopeState, isCatchClause: 0 | 1, labels: Label[], nestedLabels: Label[] | null): Types.BlockStatement; export declare function parseEmptyStatement(parser: ParserState, context: Context): Types.EmptyStatement; export declare function parseReturnStatement(parser: ParserState, context: Context): Types.ReturnStatement; export declare function parseForStatementWithVariableDeclarations(parser: ParserState, context: Context, scope: ScopeState, isAwait: false | 0 | 1, labels: Label[], curStart: number, curLine: number, curColumn: number): { type: string; left: Types.Identifier | Types.UpdateExpression | Types.MemberExpression | { type: string; kind: string; declarations: Types.VariableDeclarator[]; start: number; end: number; loc: any; } | { type: string; kind: BindingKind; declarations: Types.VariableDeclarator[]; start?: undefined; end?: undefined; loc?: undefined; } | null; right: Types.Expression; body: Types.Statement; await: boolean; start: number; end: number; loc: any; init?: undefined; test?: undefined; update?: undefined; } | { type: string; left: Types.Identifier | Types.UpdateExpression | Types.MemberExpression | { type: string; kind: string; declarations: Types.VariableDeclarator[]; start: number; end: number; loc: any; } | { type: string; kind: BindingKind; declarations: Types.VariableDeclarator[]; start?: undefined; end?: undefined; loc?: undefined; } | null; right: Types.Expression; body: Types.Statement; await: boolean; start?: undefined; end?: undefined; loc?: undefined; init?: undefined; test?: undefined; update?: undefined; } | { type: string; body: Types.Statement; left: Types.Identifier | Types.UpdateExpression | Types.MemberExpression | { type: string; kind: string; declarations: Types.VariableDeclarator[]; start: number; end: number; loc: any; } | { type: string; kind: BindingKind; declarations: Types.VariableDeclarator[]; start?: undefined; end?: undefined; loc?: undefined; } | null; right: Types.Expression; start: number; end: number; loc: any; await?: undefined; init?: undefined; test?: undefined; update?: undefined; } | { type: string; body: Types.Statement; left: Types.Identifier | Types.UpdateExpression | Types.MemberExpression | { type: string; kind: string; declarations: Types.VariableDeclarator[]; start: number; end: number; loc: any; } | { type: string; kind: BindingKind; declarations: Types.VariableDeclarator[]; start?: undefined; end?: undefined; loc?: undefined; } | null; right: Types.Expression; await?: undefined; start?: undefined; end?: undefined; loc?: undefined; init?: undefined; test?: undefined; update?: undefined; } | { type: string; init: Types.Expression; test: Types.Literal | Types.Identifier | Types.BigIntLiteral | Types.RegExpLiteral | Types.ThisExpression | Types.ArrayExpression | Types.ObjectExpression | Types.FunctionExpression | Types.DoExpression | Types.UnaryExpression | Types.UpdateExpression | Types.ImportExpression | Types.BinaryExpression | Types.AssignmentExpression | Types.LogicalExpression | Types.MemberExpression | Types.ConditionalExpression | Types.CallExpression | Types.NewExpression | Types.SequenceExpression | Types.Import | Types.ArrowFunctionExpression | Types.YieldExpression | Types.TemplateLiteral | Types.TaggedTemplateExpression | Types.ClassExpression | Types.MetaProperty | Types.AwaitExpression | null; update: Types.Literal | Types.Identifier | Types.BigIntLiteral | Types.RegExpLiteral | Types.ThisExpression | Types.ArrayExpression | Types.ObjectExpression | Types.FunctionExpression | Types.DoExpression | Types.UnaryExpression | Types.UpdateExpression | Types.ImportExpression | Types.BinaryExpression | Types.AssignmentExpression | Types.LogicalExpression | Types.MemberExpression | Types.ConditionalExpression | Types.CallExpression | Types.NewExpression | Types.SequenceExpression | Types.Import | Types.ArrowFunctionExpression | Types.YieldExpression | Types.TemplateLiteral | Types.TaggedTemplateExpression | Types.ClassExpression | Types.MetaProperty | Types.AwaitExpression | null; body: Types.Statement; start: number; end: number; loc: any; left?: undefined; right?: undefined; await?: undefined; } | { type: string; init: Types.Expression; test: Types.Literal | Types.Identifier | Types.BigIntLiteral | Types.RegExpLiteral | Types.ThisExpression | Types.ArrayExpression | Types.ObjectExpression | Types.FunctionExpression | Types.DoExpression | Types.UnaryExpression | Types.UpdateExpression | Types.ImportExpression | Types.BinaryExpression | Types.AssignmentExpression | Types.LogicalExpression | Types.MemberExpression | Types.ConditionalExpression | Types.CallExpression | Types.NewExpression | Types.SequenceExpression | Types.Import | Types.ArrowFunctionExpression | Types.YieldExpression | Types.TemplateLiteral | Types.TaggedTemplateExpression | Types.ClassExpression | Types.MetaProperty | Types.AwaitExpression | null; update: Types.Literal | Types.Identifier | Types.BigIntLiteral | Types.RegExpLiteral | Types.ThisExpression | Types.ArrayExpression | Types.ObjectExpression | Types.FunctionExpression | Types.DoExpression | Types.UnaryExpression | Types.UpdateExpression | Types.ImportExpression | Types.BinaryExpression | Types.AssignmentExpression | Types.LogicalExpression | Types.MemberExpression | Types.ConditionalExpression | Types.CallExpression | Types.NewExpression | Types.SequenceExpression | Types.Import | Types.ArrowFunctionExpression | Types.YieldExpression | Types.TemplateLiteral | Types.TaggedTemplateExpression | Types.ClassExpression | Types.MetaProperty | Types.AwaitExpression | null; body: Types.Statement; left?: undefined; right?: undefined; await?: undefined; start?: undefined; end?: undefined; loc?: undefined; }; export declare function parseForStatement(parser: ParserState, context: Context, scope: ScopeState, labels: Label[]): Types.ForStatement | Types.ForInStatement | Types.ForOfStatement; export declare function parseDoWhileStatement(parser: ParserState, context: Context, scope: ScopeState, labels: Label[], nestedLabel: any): Types.DoWhileStatement; export declare function parseWhileStatement(parser: ParserState, context: Context, scope: ScopeState, labels: Label[], nestedLabels: Label[] | null): Types.WhileStatement; export declare function parseSwitchStatement(parser: ParserState, context: Context, scope: ScopeState, labels: Label[], nestedLabels: Label[] | null): Types.SwitchStatement; export declare function parseIfStatement(parser: ParserState, context: Context, scope: ScopeState, labels: Label[]): Types.IfStatement; export declare function parseConsequentOrAlternative(parser: ParserState, context: Context, scope: ScopeState, labels: Label[]): Types.Statement | Types.FunctionDeclaration; export declare function parseThrowStatement(parser: ParserState, context: Context): Types.ThrowStatement; export declare function parseBreakStatement(parser: ParserState, context: Context, labels: Label[]): Types.BreakStatement; export declare function parseContinueStatement(parser: ParserState, context: Context, labels: Label[]): Types.ContinueStatement; export declare function parseTryStatement(parser: ParserState, context: Context, scope: ScopeState, labels: Label[]): Types.TryStatement; export declare function parseWithStatement(parser: ParserState, context: Context, scope: ScopeState, labels: Label[], nestedLabels: Label[] | null): Types.WithStatement; export declare function parseDebuggerStatement(parser: ParserState, context: Context): Types.DebuggerStatement; export declare function parseLetIdentOrVarDeclarationStatement(parser: ParserState, context: Context, scope: ScopeState, labels: Label[], nestedLabels: Label[] | null, origin: Origin): Types.VariableDeclaration | Types.LabeledStatement | Types.ExpressionStatement; export declare function parseLetAsArrow(parser: ParserState, context: Context, value: string, t: Token, expr: any, start: number, line: number, column: number): Types.ExpressionStatement; export declare function parseExpressionOrLabelledStatement(parser: ParserState, context: Context, scope: ScopeState, origin: Origin, labels: Label[], nestedLabels: Label[] | null, allowFuncDecl: 0 | 1): Types.LabeledStatement | Types.ExpressionStatement; export declare function parseExpressionStatement(parser: ParserState, context: Context, expression: any, start: number, line: number, column: number): Types.ExpressionStatement; //# sourceMappingURL=statements.d.ts.map