import { Token } from '../token'; export declare type OnToken = void | Token[] | ((token: string, value: string, start?: number, end?: number) => void); export declare const enum Context { Empty = 0, OptionsNext = 1, OptionsLoc = 2, OptionsJSX = 4, OptionsRaw = 8, OptionsDisableWebCompat = 16, OptionsDirectives = 32, OptionsGlobalReturn = 64, OptionsPreserveParens = 128, OptionsOnToken = 536870912, Strict = 1024, Module = 2048, DisallowIn = 8192, TaggedTemplate = 65536, InIteration = 131072, SuperProperty = 262144, SuperCall = 524288, InYieldContext = 2097152, InAwaitContext = 4194304, InArgumentList = 8388608, InConstructor = 16777216, InMethod = 33554432, AllowNewTarget = 67108864, InSwitch = 134217728, InGlobal = 268435456 } export declare const enum Flags { Empty = 0, HasConstructor = 1, Destructible = 2, AssignableDestruct = 4, NotDestructible = 8, MustDestruct = 16, StrictEvalArguments = 32, HasStrictReserved = 64, Octals = 128, SimpleParameterList = 256, SeenProto = 512, SeenYield = 1024, SeenAwait = 2048, CommentStart = 4096, DisallowCall = 8192 } export declare const enum Origin { None = 0, Statement = 1, BlockStatement = 2, TopLevel = 4, Declaration = 8, Arrow = 16, ForStatement = 32, Export = 64, Hoisted = 128 } export declare const enum PropertyKind { None = 0, Method = 1, Computed = 2, Shorthand = 4, Generator = 8, Async = 16, Static = 32, Constructor = 64, Getter = 128, Setter = 256 } export declare const enum BindingKind { None = 0, ArgumentList = 1, Variable = 2, FunctionLexical = 4, Tail = 8, Let = 16, Const = 32, Class = 64, FunctionStatement = 128, CatchPattern = 256, CatchIdentifier = 512, Pattern = 1024 } export interface ParserState { source: string; flags: any; index: number; length: number; start: number; endIndex: number; lastLine: number; lastColumn: number; column: number; line: number; curLine: number; offset: number; token: Token; newLine: 0 | 1; tokenValue: any; tokenRaw: string; assignable: 0 | 1; lastChar: number; exportedNames: any; exportedBindings: any; containsEscapes: 0 | 1; onToken: OnToken | any; tokenRegExp: void | { pattern: string; flags: string; }; } export declare function expectSemicolon(parser: ParserState, context: Context): void; export declare function consumeOpt(parser: ParserState, context: Context, t: Token, allowRegExp: 0 | 1): 0 | 1; export declare function consume(parser: ParserState, context: Context, t: Token, allowRegExp: 0 | 1): void; export declare function setLoc(parser: ParserState, line: number, column: number): any; export declare function reinterpretToPattern(state: ParserState, node: any): void; export declare function parseStatementWithLabelSet(t: Token, label: string, labels: any, nestedLabels: any): any; export declare function isIterationStatement(t: Token): boolean; export declare function addLabel(parser: ParserState, label: string, labels: any, nestedLabels: any): any; export declare function checkBreakStatement(parser: ParserState, labels: any, value: string): 0 | 1; export declare function checkContinueStatement(labels: any, value: string): 0 | 1; export interface Label { iterationLabels: string[]; parentLabels: any; } export declare function isValidStrictMode(parser: ParserState, index: number, start: number, value: string): boolean; export declare function validateFunctionName(parser: ParserState, context: Context, t: Token): void; export declare function isValidIdentifier(context: Context, t: Token): boolean; export declare function isStrictReservedWord(parser: ParserState, context: Context, t: Token, inGroup: 0 | 1): boolean; export declare function validateIdentifier(parser: ParserState, context: Context, kind: BindingKind, t: Token): void; export declare function isVarDecl(t: Token): boolean; export declare function isFunction(obj: any): boolean; //# sourceMappingURL=common.d.ts.map