| 
						 | 
						- export interface Node {
 -   start: number
 -   end: number
 -   type: string
 -   range?: [number, number]
 -   loc?: SourceLocation | null
 - }
 - 
 - export interface SourceLocation {
 -   source?: string | null
 -   start: Position
 -   end: Position
 - }
 - 
 - export interface Position {
 -   /** 1-based */
 -   line: number
 -   /** 0-based */
 -   column: number
 - }
 - 
 - export interface Identifier extends Node {
 -   type: "Identifier"
 -   name: string
 - }
 - 
 - export interface Literal extends Node {
 -   type: "Literal"
 -   value?: string | boolean | null | number | RegExp | bigint
 -   raw?: string
 -   regex?: {
 -     pattern: string
 -     flags: string
 -   }
 -   bigint?: string
 - }
 - 
 - export interface Program extends Node {
 -   type: "Program"
 -   body: Array<Statement | ModuleDeclaration>
 -   sourceType: "script" | "module"
 - }
 - 
 - export interface Function extends Node {
 -   id?: Identifier | null
 -   params: Array<Pattern>
 -   body: BlockStatement | Expression
 -   generator: boolean
 -   expression: boolean
 -   async: boolean
 - }
 - 
 - export interface ExpressionStatement extends Node {
 -   type: "ExpressionStatement"
 -   expression: Expression | Literal
 -   directive?: string
 - }
 - 
 - export interface BlockStatement extends Node {
 -   type: "BlockStatement"
 -   body: Array<Statement>
 - }
 - 
 - export interface EmptyStatement extends Node {
 -   type: "EmptyStatement"
 - }
 - 
 - export interface DebuggerStatement extends Node {
 -   type: "DebuggerStatement"
 - }
 - 
 - export interface WithStatement extends Node {
 -   type: "WithStatement"
 -   object: Expression
 -   body: Statement
 - }
 - 
 - export interface ReturnStatement extends Node {
 -   type: "ReturnStatement"
 -   argument?: Expression | null
 - }
 - 
 - export interface LabeledStatement extends Node {
 -   type: "LabeledStatement"
 -   label: Identifier
 -   body: Statement
 - }
 - 
 - export interface BreakStatement extends Node {
 -   type: "BreakStatement"
 -   label?: Identifier | null
 - }
 - 
 - export interface ContinueStatement extends Node {
 -   type: "ContinueStatement"
 -   label?: Identifier | null
 - }
 - 
 - export interface IfStatement extends Node {
 -   type: "IfStatement"
 -   test: Expression
 -   consequent: Statement
 -   alternate?: Statement | null
 - }
 - 
 - export interface SwitchStatement extends Node {
 -   type: "SwitchStatement"
 -   discriminant: Expression
 -   cases: Array<SwitchCase>
 - }
 - 
 - export interface SwitchCase extends Node {
 -   type: "SwitchCase"
 -   test?: Expression | null
 -   consequent: Array<Statement>
 - }
 - 
 - export interface ThrowStatement extends Node {
 -   type: "ThrowStatement"
 -   argument: Expression
 - }
 - 
 - export interface TryStatement extends Node {
 -   type: "TryStatement"
 -   block: BlockStatement
 -   handler?: CatchClause | null
 -   finalizer?: BlockStatement | null
 - }
 - 
 - export interface CatchClause extends Node {
 -   type: "CatchClause"
 -   param?: Pattern | null
 -   body: BlockStatement
 - }
 - 
 - export interface WhileStatement extends Node {
 -   type: "WhileStatement"
 -   test: Expression
 -   body: Statement
 - }
 - 
 - export interface DoWhileStatement extends Node {
 -   type: "DoWhileStatement"
 -   body: Statement
 -   test: Expression
 - }
 - 
 - export interface ForStatement extends Node {
 -   type: "ForStatement"
 -   init?: VariableDeclaration | Expression | null
 -   test?: Expression | null
 -   update?: Expression | null
 -   body: Statement
 - }
 - 
 - export interface ForInStatement extends Node {
 -   type: "ForInStatement"
 -   left: VariableDeclaration | Pattern
 -   right: Expression
 -   body: Statement
 - }
 - 
 - export interface FunctionDeclaration extends Function {
 -   type: "FunctionDeclaration"
 -   id: Identifier
 -   body: BlockStatement
 - }
 - 
 - export interface VariableDeclaration extends Node {
 -   type: "VariableDeclaration"
 -   declarations: Array<VariableDeclarator>
 -   kind: "var" | "let" | "const"
 - }
 - 
 - export interface VariableDeclarator extends Node {
 -   type: "VariableDeclarator"
 -   id: Pattern
 -   init?: Expression | null
 - }
 - 
 - export interface ThisExpression extends Node {
 -   type: "ThisExpression"
 - }
 - 
 - export interface ArrayExpression extends Node {
 -   type: "ArrayExpression"
 -   elements: Array<Expression | SpreadElement | null>
 - }
 - 
 - export interface ObjectExpression extends Node {
 -   type: "ObjectExpression"
 -   properties: Array<Property | SpreadElement>
 - }
 - 
 - export interface Property extends Node {
 -   type: "Property"
 -   key: Expression
 -   value: Expression
 -   kind: "init" | "get" | "set"
 -   method: boolean
 -   shorthand: boolean
 -   computed: boolean
 - }
 - 
 - export interface FunctionExpression extends Function {
 -   type: "FunctionExpression"
 -   body: BlockStatement
 - }
 - 
 - export interface UnaryExpression extends Node {
 -   type: "UnaryExpression"
 -   operator: UnaryOperator
 -   prefix: boolean
 -   argument: Expression
 - }
 - 
 - export type UnaryOperator = "-" | "+" | "!" | "~" | "typeof" | "void" | "delete"
 - 
 - export interface UpdateExpression extends Node {
 -   type: "UpdateExpression"
 -   operator: UpdateOperator
 -   argument: Expression
 -   prefix: boolean
 - }
 - 
 - export type UpdateOperator = "++" | "--"
 - 
 - export interface BinaryExpression extends Node {
 -   type: "BinaryExpression"
 -   operator: BinaryOperator
 -   left: Expression | PrivateIdentifier
 -   right: Expression
 - }
 - 
 - export type BinaryOperator = "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "|" | "^" | "&" | "in" | "instanceof" | "**"
 - 
 - export interface AssignmentExpression extends Node {
 -   type: "AssignmentExpression"
 -   operator: AssignmentOperator
 -   left: Pattern
 -   right: Expression
 - }
 - 
 - export type AssignmentOperator = "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=" | "||=" | "&&=" | "??="
 - 
 - export interface LogicalExpression extends Node {
 -   type: "LogicalExpression"
 -   operator: LogicalOperator
 -   left: Expression
 -   right: Expression
 - }
 - 
 - export type LogicalOperator = "||" | "&&" | "??"
 - 
 - export interface MemberExpression extends Node {
 -   type: "MemberExpression"
 -   object: Expression | Super
 -   property: Expression | PrivateIdentifier
 -   computed: boolean
 -   optional: boolean
 - }
 - 
 - export interface ConditionalExpression extends Node {
 -   type: "ConditionalExpression"
 -   test: Expression
 -   alternate: Expression
 -   consequent: Expression
 - }
 - 
 - export interface CallExpression extends Node {
 -   type: "CallExpression"
 -   callee: Expression | Super
 -   arguments: Array<Expression | SpreadElement>
 -   optional: boolean
 - }
 - 
 - export interface NewExpression extends Node {
 -   type: "NewExpression"
 -   callee: Expression
 -   arguments: Array<Expression | SpreadElement>
 - }
 - 
 - export interface SequenceExpression extends Node {
 -   type: "SequenceExpression"
 -   expressions: Array<Expression>
 - }
 - 
 - export interface ForOfStatement extends Node {
 -   type: "ForOfStatement"
 -   left: VariableDeclaration | Pattern
 -   right: Expression
 -   body: Statement
 -   await: boolean
 - }
 - 
 - export interface Super extends Node {
 -   type: "Super"
 - }
 - 
 - export interface SpreadElement extends Node {
 -   type: "SpreadElement"
 -   argument: Expression
 - }
 - 
 - export interface ArrowFunctionExpression extends Function {
 -   type: "ArrowFunctionExpression"
 - }
 - 
 - export interface YieldExpression extends Node {
 -   type: "YieldExpression"
 -   argument?: Expression | null
 -   delegate: boolean
 - }
 - 
 - export interface TemplateLiteral extends Node {
 -   type: "TemplateLiteral"
 -   quasis: Array<TemplateElement>
 -   expressions: Array<Expression>
 - }
 - 
 - export interface TaggedTemplateExpression extends Node {
 -   type: "TaggedTemplateExpression"
 -   tag: Expression
 -   quasi: TemplateLiteral
 - }
 - 
 - export interface TemplateElement extends Node {
 -   type: "TemplateElement"
 -   tail: boolean
 -   value: {
 -     cooked?: string | null
 -     raw: string
 -   }
 - }
 - 
 - export interface AssignmentProperty extends Node {
 -   type: "Property"
 -   key: Expression
 -   value: Pattern
 -   kind: "init"
 -   method: false
 -   shorthand: boolean
 -   computed: boolean
 - }
 - 
 - export interface ObjectPattern extends Node {
 -   type: "ObjectPattern"
 -   properties: Array<AssignmentProperty | RestElement>
 - }
 - 
 - export interface ArrayPattern extends Node {
 -   type: "ArrayPattern"
 -   elements: Array<Pattern | null>
 - }
 - 
 - export interface RestElement extends Node {
 -   type: "RestElement"
 -   argument: Pattern
 - }
 - 
 - export interface AssignmentPattern extends Node {
 -   type: "AssignmentPattern"
 -   left: Pattern
 -   right: Expression
 - }
 - 
 - export interface Class extends Node {
 -   id?: Identifier | null
 -   superClass?: Expression | null
 -   body: ClassBody
 - }
 - 
 - export interface ClassBody extends Node {
 -   type: "ClassBody"
 -   body: Array<MethodDefinition | PropertyDefinition | StaticBlock>
 - }
 - 
 - export interface MethodDefinition extends Node {
 -   type: "MethodDefinition"
 -   key: Expression | PrivateIdentifier
 -   value: FunctionExpression
 -   kind: "constructor" | "method" | "get" | "set"
 -   computed: boolean
 -   static: boolean
 - }
 - 
 - export interface ClassDeclaration extends Class {
 -   type: "ClassDeclaration"
 -   id: Identifier
 - }
 - 
 - export interface ClassExpression extends Class {
 -   type: "ClassExpression"
 - }
 - 
 - export interface MetaProperty extends Node {
 -   type: "MetaProperty"
 -   meta: Identifier
 -   property: Identifier
 - }
 - 
 - export interface ImportDeclaration extends Node {
 -   type: "ImportDeclaration"
 -   specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>
 -   source: Literal
 -   attributes: Array<ImportAttribute>
 - }
 - 
 - export interface ImportSpecifier extends Node {
 -   type: "ImportSpecifier"
 -   imported: Identifier | Literal
 -   local: Identifier
 - }
 - 
 - export interface ImportDefaultSpecifier extends Node {
 -   type: "ImportDefaultSpecifier"
 -   local: Identifier
 - }
 - 
 - export interface ImportNamespaceSpecifier extends Node {
 -   type: "ImportNamespaceSpecifier"
 -   local: Identifier
 - }
 - 
 - export interface ImportAttribute extends Node {
 -   type: "ImportAttribute"
 -   key: Identifier | Literal
 -   value: Literal
 - }
 - 
 - export interface ExportNamedDeclaration extends Node {
 -   type: "ExportNamedDeclaration"
 -   declaration?: Declaration | null
 -   specifiers: Array<ExportSpecifier>
 -   source?: Literal | null
 -   attributes: Array<ImportAttribute>
 - }
 - 
 - export interface ExportSpecifier extends Node {
 -   type: "ExportSpecifier"
 -   exported: Identifier | Literal
 -   local: Identifier | Literal
 - }
 - 
 - export interface AnonymousFunctionDeclaration extends Function {
 -   type: "FunctionDeclaration"
 -   id: null
 -   body: BlockStatement
 - }
 - 
 - export interface AnonymousClassDeclaration extends Class {
 -   type: "ClassDeclaration"
 -   id: null
 - }
 - 
 - export interface ExportDefaultDeclaration extends Node {
 -   type: "ExportDefaultDeclaration"
 -   declaration: AnonymousFunctionDeclaration | FunctionDeclaration | AnonymousClassDeclaration | ClassDeclaration | Expression
 - }
 - 
 - export interface ExportAllDeclaration extends Node {
 -   type: "ExportAllDeclaration"
 -   source: Literal
 -   exported?: Identifier | Literal | null
 -   attributes: Array<ImportAttribute>
 - }
 - 
 - export interface AwaitExpression extends Node {
 -   type: "AwaitExpression"
 -   argument: Expression
 - }
 - 
 - export interface ChainExpression extends Node {
 -   type: "ChainExpression"
 -   expression: MemberExpression | CallExpression
 - }
 - 
 - export interface ImportExpression extends Node {
 -   type: "ImportExpression"
 -   source: Expression
 -   options: Expression | null
 - }
 - 
 - export interface ParenthesizedExpression extends Node {
 -   type: "ParenthesizedExpression"
 -   expression: Expression
 - }
 - 
 - export interface PropertyDefinition extends Node {
 -   type: "PropertyDefinition"
 -   key: Expression | PrivateIdentifier
 -   value?: Expression | null
 -   computed: boolean
 -   static: boolean
 - }
 - 
 - export interface PrivateIdentifier extends Node {
 -   type: "PrivateIdentifier"
 -   name: string
 - }
 - 
 - export interface StaticBlock extends Node {
 -   type: "StaticBlock"
 -   body: Array<Statement>
 - }
 - 
 - export type Statement = 
 - | ExpressionStatement
 - | BlockStatement
 - | EmptyStatement
 - | DebuggerStatement
 - | WithStatement
 - | ReturnStatement
 - | LabeledStatement
 - | BreakStatement
 - | ContinueStatement
 - | IfStatement
 - | SwitchStatement
 - | ThrowStatement
 - | TryStatement
 - | WhileStatement
 - | DoWhileStatement
 - | ForStatement
 - | ForInStatement
 - | ForOfStatement
 - | Declaration
 - 
 - export type Declaration = 
 - | FunctionDeclaration
 - | VariableDeclaration
 - | ClassDeclaration
 - 
 - export type Expression = 
 - | Identifier
 - | Literal
 - | ThisExpression
 - | ArrayExpression
 - | ObjectExpression
 - | FunctionExpression
 - | UnaryExpression
 - | UpdateExpression
 - | BinaryExpression
 - | AssignmentExpression
 - | LogicalExpression
 - | MemberExpression
 - | ConditionalExpression
 - | CallExpression
 - | NewExpression
 - | SequenceExpression
 - | ArrowFunctionExpression
 - | YieldExpression
 - | TemplateLiteral
 - | TaggedTemplateExpression
 - | ClassExpression
 - | MetaProperty
 - | AwaitExpression
 - | ChainExpression
 - | ImportExpression
 - | ParenthesizedExpression
 - 
 - export type Pattern = 
 - | Identifier
 - | MemberExpression
 - | ObjectPattern
 - | ArrayPattern
 - | RestElement
 - | AssignmentPattern
 - 
 - export type ModuleDeclaration = 
 - | ImportDeclaration
 - | ExportNamedDeclaration
 - | ExportDefaultDeclaration
 - | ExportAllDeclaration
 - 
 - export type AnyNode = Statement | Expression | Declaration | ModuleDeclaration | Literal | Program | SwitchCase | CatchClause | Property | Super | SpreadElement | TemplateElement | AssignmentProperty | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | ClassBody | MethodDefinition | MetaProperty | ImportAttribute | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier | AnonymousFunctionDeclaration | AnonymousClassDeclaration | PropertyDefinition | PrivateIdentifier | StaticBlock | VariableDeclarator
 - 
 - export function parse(input: string, options: Options): Program
 - 
 - export function parseExpressionAt(input: string, pos: number, options: Options): Expression
 - 
 - export function tokenizer(input: string, options: Options): {
 -   getToken(): Token
 -   [Symbol.iterator](): Iterator<Token>
 - }
 - 
 - export type ecmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | "latest"
 - 
 - export interface Options {
 -   /**
 -    * `ecmaVersion` indicates the ECMAScript version to parse. Can be a
 -    * number, either in year (`2022`) or plain version number (`6`) form,
 -    * or `"latest"` (the latest the library supports). This influences
 -    * support for strict mode, the set of reserved words, and support for
 -    * new syntax features.
 -    */
 -   ecmaVersion: ecmaVersion
 - 
 -   /**
 -    * `sourceType` indicates the mode the code should be parsed in.
 -    * Can be either `"script"` or `"module"`. This influences global
 -    * strict mode and parsing of `import` and `export` declarations.
 -    */
 -   sourceType?: "script" | "module"
 - 
 -   /**
 -    * a callback that will be called when a semicolon is automatically inserted.
 -    * @param lastTokEnd the position of the comma as an offset
 -    * @param lastTokEndLoc location if {@link locations} is enabled
 -    */
 -   onInsertedSemicolon?: (lastTokEnd: number, lastTokEndLoc?: Position) => void
 - 
 -   /**
 -    * similar to `onInsertedSemicolon`, but for trailing commas
 -    * @param lastTokEnd the position of the comma as an offset
 -    * @param lastTokEndLoc location if `locations` is enabled
 -    */
 -   onTrailingComma?: (lastTokEnd: number, lastTokEndLoc?: Position) => void
 - 
 -   /**
 -    * By default, reserved words are only enforced if ecmaVersion >= 5.
 -    * Set `allowReserved` to a boolean value to explicitly turn this on
 -    * an off. When this option has the value "never", reserved words
 -    * and keywords can also not be used as property names.
 -    */
 -   allowReserved?: boolean | "never"
 - 
 -   /** 
 -    * When enabled, a return at the top level is not considered an error.
 -    */
 -   allowReturnOutsideFunction?: boolean
 - 
 -   /**
 -    * When enabled, import/export statements are not constrained to
 -    * appearing at the top of the program, and an import.meta expression
 -    * in a script isn't considered an error.
 -    */
 -   allowImportExportEverywhere?: boolean
 - 
 -   /**
 -    * By default, `await` identifiers are allowed to appear at the top-level scope only if {@link ecmaVersion} >= 2022.
 -    * When enabled, await identifiers are allowed to appear at the top-level scope,
 -    * but they are still not allowed in non-async functions.
 -    */
 -   allowAwaitOutsideFunction?: boolean
 - 
 -   /**
 -    * When enabled, super identifiers are not constrained to
 -    * appearing in methods and do not raise an error when they appear elsewhere.
 -    */
 -   allowSuperOutsideMethod?: boolean
 - 
 -   /**
 -    * When enabled, hashbang directive in the beginning of file is
 -    * allowed and treated as a line comment. Enabled by default when
 -    * {@link ecmaVersion} >= 2023.
 -    */
 -   allowHashBang?: boolean
 - 
 -   /**
 -    * By default, the parser will verify that private properties are
 -    * only used in places where they are valid and have been declared.
 -    * Set this to false to turn such checks off.
 -    */
 -   checkPrivateFields?: boolean
 - 
 -   /**
 -    * When `locations` is on, `loc` properties holding objects with
 -    * `start` and `end` properties as {@link Position} objects will be attached to the
 -    * nodes.
 -    */
 -   locations?: boolean
 - 
 -   /**
 -    * a callback that will cause Acorn to call that export function with object in the same
 -    * format as tokens returned from `tokenizer().getToken()`. Note
 -    * that you are not allowed to call the parser from the
 -    * callback—that will corrupt its internal state.
 -    */
 -   onToken?: ((token: Token) => void) | Token[]
 - 
 - 
 -   /**
 -    * This takes a export function or an array.
 -    * 
 -    * When a export function is passed, Acorn will call that export function with `(block, text, start,
 -    * end)` parameters whenever a comment is skipped. `block` is a
 -    * boolean indicating whether this is a block (`/* *\/`) comment,
 -    * `text` is the content of the comment, and `start` and `end` are
 -    * character offsets that denote the start and end of the comment.
 -    * When the {@link locations} option is on, two more parameters are
 -    * passed, the full locations of {@link Position} export type of the start and
 -    * end of the comments.
 -    * 
 -    * When a array is passed, each found comment of {@link Comment} export type is pushed to the array.
 -    * 
 -    * Note that you are not allowed to call the
 -    * parser from the callback—that will corrupt its internal state.
 -    */
 -   onComment?: ((
 -     isBlock: boolean, text: string, start: number, end: number, startLoc?: Position,
 -     endLoc?: Position
 -   ) => void) | Comment[]
 - 
 -   /**
 -    * Nodes have their start and end characters offsets recorded in
 -    * `start` and `end` properties (directly on the node, rather than
 -    * the `loc` object, which holds line/column data. To also add a
 -    * [semi-standardized][range] `range` property holding a `[start,
 -    * end]` array with the same numbers, set the `ranges` option to
 -    * `true`.
 -    */
 -   ranges?: boolean
 - 
 -   /**
 -    * It is possible to parse multiple files into a single AST by
 -    * passing the tree produced by parsing the first file as
 -    * `program` option in subsequent parses. This will add the
 -    * toplevel forms of the parsed file to the `Program` (top) node
 -    * of an existing parse tree.
 -    */
 -   program?: Node
 - 
 -   /**
 -    * When {@link locations} is on, you can pass this to record the source
 -    * file in every node's `loc` object.
 -    */
 -   sourceFile?: string
 - 
 -   /**
 -    * This value, if given, is stored in every node, whether {@link locations} is on or off.
 -    */
 -   directSourceFile?: string
 - 
 -   /**
 -    * When enabled, parenthesized expressions are represented by
 -    * (non-standard) ParenthesizedExpression nodes
 -    */
 -   preserveParens?: boolean
 - }
 -   
 - export class Parser {
 -   options: Options
 -   input: string
 -   
 -   protected constructor(options: Options, input: string, startPos?: number)
 -   parse(): Program
 -   
 -   static parse(input: string, options: Options): Program
 -   static parseExpressionAt(input: string, pos: number, options: Options): Expression
 -   static tokenizer(input: string, options: Options): {
 -     getToken(): Token
 -     [Symbol.iterator](): Iterator<Token>
 -   }
 -   static extend(...plugins: ((BaseParser: typeof Parser) => typeof Parser)[]): typeof Parser
 - }
 - 
 - export const defaultOptions: Options
 - 
 - export function getLineInfo(input: string, offset: number): Position
 - 
 - export class TokenType {
 -   label: string
 -   keyword: string | undefined
 - }
 - 
 - export const tokTypes: {
 -   num: TokenType
 -   regexp: TokenType
 -   string: TokenType
 -   name: TokenType
 -   privateId: TokenType
 -   eof: TokenType
 - 
 -   bracketL: TokenType
 -   bracketR: TokenType
 -   braceL: TokenType
 -   braceR: TokenType
 -   parenL: TokenType
 -   parenR: TokenType
 -   comma: TokenType
 -   semi: TokenType
 -   colon: TokenType
 -   dot: TokenType
 -   question: TokenType
 -   questionDot: TokenType
 -   arrow: TokenType
 -   template: TokenType
 -   invalidTemplate: TokenType
 -   ellipsis: TokenType
 -   backQuote: TokenType
 -   dollarBraceL: TokenType
 - 
 -   eq: TokenType
 -   assign: TokenType
 -   incDec: TokenType
 -   prefix: TokenType
 -   logicalOR: TokenType
 -   logicalAND: TokenType
 -   bitwiseOR: TokenType
 -   bitwiseXOR: TokenType
 -   bitwiseAND: TokenType
 -   equality: TokenType
 -   relational: TokenType
 -   bitShift: TokenType
 -   plusMin: TokenType
 -   modulo: TokenType
 -   star: TokenType
 -   slash: TokenType
 -   starstar: TokenType
 -   coalesce: TokenType
 - 
 -   _break: TokenType
 -   _case: TokenType
 -   _catch: TokenType
 -   _continue: TokenType
 -   _debugger: TokenType
 -   _default: TokenType
 -   _do: TokenType
 -   _else: TokenType
 -   _finally: TokenType
 -   _for: TokenType
 -   _function: TokenType
 -   _if: TokenType
 -   _return: TokenType
 -   _switch: TokenType
 -   _throw: TokenType
 -   _try: TokenType
 -   _var: TokenType
 -   _const: TokenType
 -   _while: TokenType
 -   _with: TokenType
 -   _new: TokenType
 -   _this: TokenType
 -   _super: TokenType
 -   _class: TokenType
 -   _extends: TokenType
 -   _export: TokenType
 -   _import: TokenType
 -   _null: TokenType
 -   _true: TokenType
 -   _false: TokenType
 -   _in: TokenType
 -   _instanceof: TokenType
 -   _typeof: TokenType
 -   _void: TokenType
 -   _delete: TokenType
 - }
 - 
 - export interface Comment {
 -   type: "Line" | "Block"
 -   value: string
 -   start: number
 -   end: number
 -   loc?: SourceLocation
 -   range?: [number, number]
 - }
 - 
 - export class Token {
 -   type: TokenType
 -   start: number
 -   end: number
 -   loc?: SourceLocation
 -   range?: [number, number]
 - }
 - 
 - export const version: string
 
 
  |