You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							794 lines
						
					
					
						
							19 KiB
						
					
					
				
			
		
		
	
	
							794 lines
						
					
					
						
							19 KiB
						
					
					
				/// <reference lib="es2015" /> | 
						|
 | 
						|
import { RawSourceMap } from 'source-map'; | 
						|
 | 
						|
/** @deprecated since this versions basically do not exist */ | 
						|
type ECMA_UNOFFICIAL = 6 | 7 | 8 | 9 | 10 | 11; | 
						|
 | 
						|
export type ECMA = 5 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | ECMA_UNOFFICIAL; | 
						|
 | 
						|
export interface ParseOptions { | 
						|
    bare_returns?: boolean; | 
						|
    ecma?: ECMA; | 
						|
    html5_comments?: boolean; | 
						|
    shebang?: boolean; | 
						|
} | 
						|
 | 
						|
export interface CompressOptions { | 
						|
    arguments?: boolean; | 
						|
    arrows?: boolean; | 
						|
    booleans_as_integers?: boolean; | 
						|
    booleans?: boolean; | 
						|
    collapse_vars?: boolean; | 
						|
    comparisons?: boolean; | 
						|
    computed_props?: boolean; | 
						|
    conditionals?: boolean; | 
						|
    dead_code?: boolean; | 
						|
    defaults?: boolean; | 
						|
    directives?: boolean; | 
						|
    drop_console?: boolean; | 
						|
    drop_debugger?: boolean; | 
						|
    ecma?: ECMA; | 
						|
    evaluate?: boolean; | 
						|
    expression?: boolean; | 
						|
    global_defs?: object; | 
						|
    hoist_funs?: boolean; | 
						|
    hoist_props?: boolean; | 
						|
    hoist_vars?: boolean; | 
						|
    ie8?: boolean; | 
						|
    if_return?: boolean; | 
						|
    inline?: boolean | InlineFunctions; | 
						|
    join_vars?: boolean; | 
						|
    keep_classnames?: boolean | RegExp; | 
						|
    keep_fargs?: boolean; | 
						|
    keep_fnames?: boolean | RegExp; | 
						|
    keep_infinity?: boolean; | 
						|
    loops?: boolean; | 
						|
    module?: boolean; | 
						|
    negate_iife?: boolean; | 
						|
    passes?: number; | 
						|
    properties?: boolean; | 
						|
    pure_funcs?: string[]; | 
						|
    pure_getters?: boolean | 'strict'; | 
						|
    reduce_funcs?: boolean; | 
						|
    reduce_vars?: boolean; | 
						|
    sequences?: boolean | number; | 
						|
    side_effects?: boolean; | 
						|
    switches?: boolean; | 
						|
    toplevel?: boolean; | 
						|
    top_retain?: null | string | string[] | RegExp; | 
						|
    typeofs?: boolean; | 
						|
    unsafe_arrows?: boolean; | 
						|
    unsafe?: boolean; | 
						|
    unsafe_comps?: boolean; | 
						|
    unsafe_Function?: boolean; | 
						|
    unsafe_math?: boolean; | 
						|
    unsafe_symbols?: boolean; | 
						|
    unsafe_methods?: boolean; | 
						|
    unsafe_proto?: boolean; | 
						|
    unsafe_regexp?: boolean; | 
						|
    unsafe_undefined?: boolean; | 
						|
    unused?: boolean; | 
						|
    warnings?: boolean; | 
						|
} | 
						|
 | 
						|
export enum InlineFunctions { | 
						|
    Disabled = 0, | 
						|
    SimpleFunctions = 1, | 
						|
    WithArguments = 2, | 
						|
    WithArgumentsAndVariables = 3 | 
						|
} | 
						|
 | 
						|
export interface MangleOptions { | 
						|
    eval?: boolean; | 
						|
    keep_classnames?: boolean | RegExp; | 
						|
    keep_fnames?: boolean | RegExp; | 
						|
    module?: boolean; | 
						|
    properties?: boolean | ManglePropertiesOptions; | 
						|
    reserved?: string[]; | 
						|
    safari10?: boolean; | 
						|
    toplevel?: boolean; | 
						|
} | 
						|
 | 
						|
export interface ManglePropertiesOptions { | 
						|
    builtins?: boolean; | 
						|
    debug?: boolean; | 
						|
    keep_quoted?: boolean | 'strict'; | 
						|
    regex?: RegExp | string; | 
						|
    reserved?: string[]; | 
						|
} | 
						|
 | 
						|
export interface OutputOptions { | 
						|
    ascii_only?: boolean; | 
						|
    beautify?: boolean; | 
						|
    braces?: boolean; | 
						|
    comments?: boolean | 'all' | 'some' | RegExp | ( (node: AST_Node, comment: { | 
						|
        value: string, | 
						|
        type: 'comment1' | 'comment2' | 'comment3' | 'comment4', | 
						|
        pos: number, | 
						|
        line: number, | 
						|
        col: number, | 
						|
    }) => boolean ); | 
						|
    ecma?: ECMA; | 
						|
    ie8?: boolean; | 
						|
    indent_level?: number; | 
						|
    indent_start?: number; | 
						|
    inline_script?: boolean; | 
						|
    keep_quoted_props?: boolean; | 
						|
    max_line_len?: number | false; | 
						|
    preamble?: string; | 
						|
    preserve_annotations?: boolean; | 
						|
    quote_keys?: boolean; | 
						|
    quote_style?: OutputQuoteStyle; | 
						|
    safari10?: boolean; | 
						|
    semicolons?: boolean; | 
						|
    shebang?: boolean; | 
						|
    shorthand?: boolean; | 
						|
    source_map?: SourceMapOptions; | 
						|
    webkit?: boolean; | 
						|
    width?: number; | 
						|
    wrap_iife?: boolean; | 
						|
    wrap_func_args?: boolean; | 
						|
} | 
						|
 | 
						|
export enum OutputQuoteStyle { | 
						|
    PreferDouble = 0, | 
						|
    AlwaysSingle = 1, | 
						|
    AlwaysDouble = 2, | 
						|
    AlwaysOriginal = 3 | 
						|
} | 
						|
 | 
						|
export interface MinifyOptions { | 
						|
    compress?: boolean | CompressOptions; | 
						|
    ecma?: ECMA; | 
						|
    ie8?: boolean; | 
						|
    keep_classnames?: boolean | RegExp; | 
						|
    keep_fnames?: boolean | RegExp; | 
						|
    mangle?: boolean | MangleOptions; | 
						|
    module?: boolean; | 
						|
    nameCache?: object; | 
						|
    output?: OutputOptions; | 
						|
    parse?: ParseOptions; | 
						|
    safari10?: boolean; | 
						|
    sourceMap?: boolean | SourceMapOptions; | 
						|
    toplevel?: boolean; | 
						|
    warnings?: boolean | 'verbose'; | 
						|
} | 
						|
 | 
						|
export interface MinifyOutput { | 
						|
    ast?: AST_Node; | 
						|
    code?: string; | 
						|
    error?: Error; | 
						|
    map?: RawSourceMap | string; | 
						|
    warnings?: string[]; | 
						|
} | 
						|
 | 
						|
export interface SourceMapOptions { | 
						|
    /** Source map object, 'inline' or source map file content */ | 
						|
    content?: RawSourceMap | string; | 
						|
    includeSources?: boolean; | 
						|
    filename?: string; | 
						|
    root?: string; | 
						|
    url?: string | 'inline'; | 
						|
} | 
						|
 | 
						|
declare function parse(text: string, options?: ParseOptions): AST_Node; | 
						|
 | 
						|
export class TreeWalker { | 
						|
    constructor(callback: (node: AST_Node, descend?: (node: AST_Node) => void) => boolean | undefined); | 
						|
    directives: object; | 
						|
    find_parent(type: AST_Node): AST_Node | undefined; | 
						|
    has_directive(type: string): boolean; | 
						|
    loopcontrol_target(node: AST_Node): AST_Node | undefined; | 
						|
    parent(n: number): AST_Node | undefined; | 
						|
    pop(): void; | 
						|
    push(node: AST_Node): void; | 
						|
    self(): AST_Node | undefined; | 
						|
    stack: AST_Node[]; | 
						|
    visit: (node: AST_Node, descend: boolean) => any; | 
						|
} | 
						|
 | 
						|
export class TreeTransformer extends TreeWalker { | 
						|
    constructor( | 
						|
        before: (node: AST_Node, descend?: (node: AST_Node, tw: TreeWalker) => void, in_list?: boolean) => AST_Node | undefined, | 
						|
        after?: (node: AST_Node, in_list?: boolean) => AST_Node | undefined | 
						|
    ); | 
						|
    before: (node: AST_Node) => AST_Node; | 
						|
    after?: (node: AST_Node) => AST_Node; | 
						|
} | 
						|
 | 
						|
export function push_uniq<T>(array: T[], el: T): void; | 
						|
 | 
						|
export function minify(files: string | string[] | { [file: string]: string } | AST_Node, options?: MinifyOptions): MinifyOutput; | 
						|
 | 
						|
export class AST_Node { | 
						|
    constructor(props?: object); | 
						|
    static BASE?: AST_Node; | 
						|
    static PROPS: string[]; | 
						|
    static SELF_PROPS: string[]; | 
						|
    static SUBCLASSES: AST_Node[]; | 
						|
    static documentation: string; | 
						|
    static propdoc?: Record<string, string>; | 
						|
    static expressions?: AST_Node[]; | 
						|
    static warn?: (text: string, props: any) => void; | 
						|
    static from_mozilla_ast?: (node: AST_Node) => any; | 
						|
    walk: (visitor: TreeWalker) => void; | 
						|
    print_to_string: (options?: OutputOptions) => string; | 
						|
    transform: (tt: TreeTransformer, in_list?: boolean) => AST_Node; | 
						|
    TYPE: string; | 
						|
    CTOR: typeof AST_Node; | 
						|
} | 
						|
 | 
						|
declare class SymbolDef { | 
						|
    constructor(scope?: AST_Scope, orig?: object, init?: object); | 
						|
    name: string; | 
						|
    orig: AST_SymbolRef[]; | 
						|
    init: AST_SymbolRef; | 
						|
    eliminated: number; | 
						|
    scope: AST_Scope; | 
						|
    references: AST_SymbolRef[]; | 
						|
    replaced: number; | 
						|
    global: boolean; | 
						|
    export: boolean; | 
						|
    mangled_name: null | string; | 
						|
    undeclared: boolean; | 
						|
    id: number; | 
						|
} | 
						|
 | 
						|
type ArgType = AST_SymbolFunarg | AST_DefaultAssign | AST_Destructuring | AST_Expansion; | 
						|
 | 
						|
declare class AST_Statement extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Debugger extends AST_Statement { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Directive extends AST_Statement { | 
						|
    constructor(props?: object); | 
						|
    value: string; | 
						|
    quote: string; | 
						|
} | 
						|
 | 
						|
declare class AST_SimpleStatement extends AST_Statement { | 
						|
    constructor(props?: object); | 
						|
    body: AST_Node[]; | 
						|
} | 
						|
 | 
						|
declare class AST_Block extends AST_Statement { | 
						|
    constructor(props?: object); | 
						|
    body: AST_Node[]; | 
						|
    block_scope: AST_Scope | null; | 
						|
} | 
						|
 | 
						|
declare class AST_BlockStatement extends AST_Block { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Scope extends AST_Block { | 
						|
    constructor(props?: object); | 
						|
    variables: any; | 
						|
    functions: any; | 
						|
    uses_with: boolean; | 
						|
    uses_eval: boolean; | 
						|
    parent_scope: AST_Scope | null; | 
						|
    enclosed: any; | 
						|
    cname: any; | 
						|
} | 
						|
 | 
						|
declare class AST_Toplevel extends AST_Scope { | 
						|
    constructor(props?: object); | 
						|
    globals: any; | 
						|
} | 
						|
 | 
						|
declare class AST_Lambda extends AST_Scope { | 
						|
    constructor(props?: object); | 
						|
    name: AST_SymbolDeclaration | null; | 
						|
    argnames: ArgType[]; | 
						|
    uses_arguments: boolean; | 
						|
    is_generator: boolean; | 
						|
    async: boolean; | 
						|
} | 
						|
 | 
						|
declare class AST_Accessor extends AST_Lambda { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Function extends AST_Lambda { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Arrow extends AST_Lambda { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Defun extends AST_Lambda { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Class extends AST_Scope { | 
						|
    constructor(props?: object); | 
						|
    name: AST_SymbolClass | AST_SymbolDefClass | null; | 
						|
    extends: AST_Node | null; | 
						|
    properties: AST_ObjectProperty[]; | 
						|
} | 
						|
 | 
						|
declare class AST_DefClass extends AST_Class { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_ClassExpression extends AST_Class { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Switch extends AST_Block { | 
						|
    constructor(props?: object); | 
						|
    expression: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_SwitchBranch extends AST_Block { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Default extends AST_SwitchBranch { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Case extends AST_SwitchBranch { | 
						|
    constructor(props?: object); | 
						|
    expression: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_Try extends AST_Block { | 
						|
    constructor(props?: object); | 
						|
    bcatch: AST_Catch; | 
						|
    bfinally: null | AST_Finally; | 
						|
} | 
						|
 | 
						|
declare class AST_Catch extends AST_Block { | 
						|
    constructor(props?: object); | 
						|
    argname: ArgType; | 
						|
} | 
						|
 | 
						|
declare class AST_Finally extends AST_Block { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_EmptyStatement extends AST_Statement { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_StatementWithBody extends AST_Statement { | 
						|
    constructor(props?: object); | 
						|
    body: AST_Node[]; | 
						|
} | 
						|
 | 
						|
declare class AST_LabeledStatement extends AST_StatementWithBody { | 
						|
    constructor(props?: object); | 
						|
    label: AST_Label; | 
						|
} | 
						|
 | 
						|
declare class AST_IterationStatement extends AST_StatementWithBody { | 
						|
    constructor(props?: object); | 
						|
    block_scope: AST_Scope | null; | 
						|
} | 
						|
 | 
						|
declare class AST_DWLoop extends AST_IterationStatement { | 
						|
    constructor(props?: object); | 
						|
    condition: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_Do extends AST_DWLoop { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_While extends AST_DWLoop { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_For extends AST_IterationStatement { | 
						|
    constructor(props?: object); | 
						|
    init: AST_Node | null; | 
						|
    condition: AST_Node | null; | 
						|
    step: AST_Node | null; | 
						|
} | 
						|
 | 
						|
declare class AST_ForIn extends AST_IterationStatement { | 
						|
    constructor(props?: object); | 
						|
    init: AST_Node | null; | 
						|
    object: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_ForOf extends AST_ForIn { | 
						|
    constructor(props?: object); | 
						|
    await: boolean; | 
						|
} | 
						|
 | 
						|
declare class AST_With extends AST_StatementWithBody { | 
						|
    constructor(props?: object); | 
						|
    expression: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_If extends AST_StatementWithBody { | 
						|
    constructor(props?: object); | 
						|
    condition: AST_Node; | 
						|
    alternative: AST_Node | null; | 
						|
} | 
						|
 | 
						|
declare class AST_Jump extends AST_Statement { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Exit extends AST_Jump { | 
						|
    constructor(props?: object); | 
						|
    value: AST_Node | null; | 
						|
} | 
						|
 | 
						|
declare class AST_Return extends AST_Exit { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Throw extends AST_Exit { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_LoopControl extends AST_Jump { | 
						|
    constructor(props?: object); | 
						|
    label: null | AST_LabelRef; | 
						|
} | 
						|
 | 
						|
declare class AST_Break extends AST_LoopControl { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Continue extends AST_LoopControl { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Definitions extends AST_Statement { | 
						|
    constructor(props?: object); | 
						|
    definitions: AST_VarDef[]; | 
						|
} | 
						|
 | 
						|
declare class AST_Var extends AST_Definitions { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Let extends AST_Definitions { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Const extends AST_Definitions { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Export extends AST_Statement { | 
						|
    constructor(props?: object); | 
						|
    exported_definition: AST_Definitions | AST_Lambda | AST_DefClass | null; | 
						|
    exported_value: AST_Node | null; | 
						|
    is_default: boolean; | 
						|
    exported_names: AST_NameMapping[]; | 
						|
    module_name: AST_String; | 
						|
} | 
						|
 | 
						|
declare class AST_Expansion extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    expression: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_Destructuring extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    names: AST_Node[]; | 
						|
    is_array: boolean; | 
						|
} | 
						|
 | 
						|
declare class AST_PrefixedTemplateString extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    template_string: AST_TemplateString; | 
						|
    prefix: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_TemplateString extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    segments: AST_Node[]; | 
						|
} | 
						|
 | 
						|
declare class AST_TemplateSegment extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    value: string; | 
						|
    raw: string; | 
						|
} | 
						|
 | 
						|
declare class AST_NameMapping extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    foreign_name: AST_Symbol; | 
						|
    name: AST_SymbolExport | AST_SymbolImport; | 
						|
} | 
						|
 | 
						|
declare class AST_Import extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    imported_name: null | AST_SymbolImport; | 
						|
    imported_names: AST_NameMapping[]; | 
						|
    module_name: AST_String; | 
						|
} | 
						|
 | 
						|
declare class AST_VarDef extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    name: AST_Destructuring | AST_SymbolConst | AST_SymbolLet | AST_SymbolVar; | 
						|
    value: AST_Node | null; | 
						|
} | 
						|
 | 
						|
declare class AST_Call extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    expression: AST_Node; | 
						|
    args: AST_Node[]; | 
						|
} | 
						|
 | 
						|
declare class AST_New extends AST_Call { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Sequence extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    expressions: AST_Node[]; | 
						|
} | 
						|
 | 
						|
declare class AST_PropAccess extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    expression: AST_Node; | 
						|
    property: AST_Node | string; | 
						|
} | 
						|
 | 
						|
declare class AST_Dot extends AST_PropAccess { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Sub extends AST_PropAccess { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Unary extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    operator: string; | 
						|
    expression: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_UnaryPrefix extends AST_Unary { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_UnaryPostfix extends AST_Unary { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Binary extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    operator: string; | 
						|
    left: AST_Node; | 
						|
    right: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_Assign extends AST_Binary { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_DefaultAssign extends AST_Binary { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Conditional extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    condition: AST_Node; | 
						|
    consequent: AST_Node; | 
						|
    alternative: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_Array extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    elements: AST_Node[]; | 
						|
} | 
						|
 | 
						|
declare class AST_Object extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    properties: AST_ObjectProperty[]; | 
						|
} | 
						|
 | 
						|
declare class AST_ObjectProperty extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    key: string | number | AST_Node; | 
						|
    value: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_ObjectKeyVal extends AST_ObjectProperty { | 
						|
    constructor(props?: object); | 
						|
    quote: string; | 
						|
} | 
						|
 | 
						|
declare class AST_ObjectSetter extends AST_ObjectProperty { | 
						|
    constructor(props?: object); | 
						|
    quote: string; | 
						|
    static: boolean; | 
						|
} | 
						|
 | 
						|
declare class AST_ObjectGetter extends AST_ObjectProperty { | 
						|
    constructor(props?: object); | 
						|
    quote: string; | 
						|
    static: boolean; | 
						|
} | 
						|
 | 
						|
declare class AST_ConciseMethod extends AST_ObjectProperty { | 
						|
    constructor(props?: object); | 
						|
    quote: string; | 
						|
    static: boolean; | 
						|
    is_generator: boolean; | 
						|
    async: boolean; | 
						|
} | 
						|
 | 
						|
declare class AST_Symbol extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    scope: AST_Scope; | 
						|
    name: string; | 
						|
    thedef: SymbolDef; | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolDeclaration extends AST_Symbol { | 
						|
    constructor(props?: object); | 
						|
    init: AST_Node | null; | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolVar extends AST_SymbolDeclaration { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolFunarg extends AST_SymbolVar { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolBlockDeclaration extends AST_SymbolDeclaration { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolConst extends AST_SymbolBlockDeclaration { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolLet extends AST_SymbolBlockDeclaration { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolDefClass extends AST_SymbolBlockDeclaration { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolCatch extends AST_SymbolBlockDeclaration { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolImport extends AST_SymbolBlockDeclaration { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolDefun extends AST_SymbolDeclaration { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolLambda extends AST_SymbolDeclaration { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolClass extends AST_SymbolDeclaration { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolMethod extends AST_Symbol { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolImportForeign extends AST_Symbol { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Label extends AST_Symbol { | 
						|
    constructor(props?: object); | 
						|
    references: AST_LoopControl | null; | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolRef extends AST_Symbol { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolExport extends AST_SymbolRef { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_SymbolExportForeign extends AST_Symbol { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_LabelRef extends AST_Symbol { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_This extends AST_Symbol { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Super extends AST_This { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_NewTarget extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Constant extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_String extends AST_Constant { | 
						|
    constructor(props?: object); | 
						|
    value: string; | 
						|
    quote: string; | 
						|
} | 
						|
 | 
						|
declare class AST_Number extends AST_Constant { | 
						|
    constructor(props?: object); | 
						|
    value: number; | 
						|
    literal: string; | 
						|
} | 
						|
 | 
						|
declare class AST_RegExp extends AST_Constant { | 
						|
    constructor(props?: object); | 
						|
    value: { | 
						|
        source: string, | 
						|
        flags: string | 
						|
    }; | 
						|
} | 
						|
 | 
						|
declare class AST_Atom extends AST_Constant { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Null extends AST_Atom { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_NaN extends AST_Atom { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Undefined extends AST_Atom { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Hole extends AST_Atom { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Infinity extends AST_Atom { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Boolean extends AST_Atom { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_False extends AST_Boolean { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_True extends AST_Boolean { | 
						|
    constructor(props?: object); | 
						|
} | 
						|
 | 
						|
declare class AST_Await extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    expression: AST_Node; | 
						|
} | 
						|
 | 
						|
declare class AST_Yield extends AST_Node { | 
						|
    constructor(props?: object); | 
						|
    expression: AST_Node; | 
						|
    is_star: boolean; | 
						|
}
 | 
						|
 |