///
import { a as UnionToIntersection, i as Prettify$1, n as LooseRequired, o as generateCodeFrame, r as PatchFlags, t as IfAny } from "./libs/@vue/shared.mjs";
import * as fs$1 from "node:fs";
import { Stats as Stats$2 } from "node:fs";
import { URL as URL$1 } from "node:url";
import * as net$1 from "node:net";
import { IpcNetConnectOpts, Socket, TcpNetConnectOpts } from "node:net";
import { Blob as Blob$1, File } from "node:buffer";
import { Defu } from "defu";
import { TSConfig } from "pkg-types";
import * as http from "node:http";
import { Agent, ClientRequest, ClientRequestArgs, IncomingMessage as IncomingMessage$1, OutgoingHttpHeaders, Server as Server$1, ServerResponse } from "node:http";
import { Http2SecureServer } from "node:http2";
import { EventEmitter } from "node:events";
import { Server as Server$2, ServerOptions as ServerOptions$1 } from "node:https";
import { Duplex, DuplexOptions, Readable, Stream, Writable } from "node:stream";
import { ConnectionOptions, SecureContextOptions, TLSSocket } from "node:tls";
import { ZlibOptions } from "node:zlib";
import DartSass from "sass";
import SassEmbedded from "sass-embedded";
import Less from "less";
import Stylus from "stylus";
import Lightningcss from "lightningcss";
import "child_process";
import "node:stream/web";
import "node:dns";
import "node:worker_threads";
import "buffer";
import "http";
import "https";
import "inspector";
import "net";
import "url";
import "vm";
import "worker_threads";
import "fs";
import { BundleAnalyzerPlugin } from "webpack-bundle-analyzer";
import { NuxtLinkOptions } from "nuxt/app";
import { ClientOptions, MiddlewareOptions } from "webpack-hot-middleware";
import { AsyncLocalStorage } from "node:async_hooks";
import { Hookable } from "hookable";
//#region ../schema/dist/_chunks/libs/@babel/parser.d.mts
//#region ../../node_modules/.pnpm/@babel+types@7.29.0/node_modules/@babel/types/lib/index-legacy.d.ts
// NOTE: This file is autogenerated. Do not modify.
// See packages/babel-types/scripts/generators/typescript-legacy.ts for script used.
interface BaseComment {
value: string;
start: number;
end: number;
loc: SourceLocation$2;
type: "CommentBlock" | "CommentLine";
}
interface CommentBlock extends BaseComment {
type: "CommentBlock";
}
interface CommentLine extends BaseComment {
type: "CommentLine";
}
type Comment$2 = CommentBlock | CommentLine;
interface SourceLocation$2 {
start: {
line: number;
column: number;
};
end: {
line: number;
column: number;
};
}
interface BaseNode$1 {
leadingComments: ReadonlyArray | null;
innerComments: ReadonlyArray | null;
trailingComments: ReadonlyArray | null;
start: number | null;
end: number | null;
loc: SourceLocation$2 | null;
type: Node$2["type"];
extra?: Record;
}
type Node$2 = Accessor | AnyTypeAnnotation | ArgumentPlaceholder | ArrayExpression$2 | ArrayPattern$1 | ArrayTypeAnnotation | ArrowFunctionExpression$1 | AssignmentExpression$3 | AssignmentPattern$2 | AwaitExpression$2 | BigIntLiteral$2 | Binary | BinaryExpression$2 | BindExpression | Block$1 | BlockParent | BlockStatement$2 | BooleanLiteral$1 | BooleanLiteralTypeAnnotation | BooleanTypeAnnotation | BreakStatement$2 | CallExpression$3 | CatchClause$2 | Class$1 | ClassAccessorProperty | ClassBody$1 | ClassDeclaration$2 | ClassExpression$2 | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | CompletionStatement | Conditional | ConditionalExpression$3 | ContinueStatement$2 | DebuggerStatement$2 | DecimalLiteral | Declaration$2 | DeclareClass | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | DeclaredPredicate | Decorator$1 | Directive$2 | DirectiveLiteral | DoExpression | DoWhileStatement$1 | EmptyStatement$2 | EmptyTypeAnnotation | EnumBody | EnumBooleanBody | EnumBooleanMember | EnumDeclaration$1 | EnumDefaultedMember | EnumMember$1 | EnumNumberBody | EnumNumberMember | EnumStringBody | EnumStringMember | EnumSymbolBody | ExistsTypeAnnotation | ExportAllDeclaration$1 | ExportDeclaration$1 | ExportDefaultDeclaration$1 | ExportDefaultSpecifier | ExportNamedDeclaration$1 | ExportNamespaceSpecifier | ExportSpecifier$2 | Expression$2 | ExpressionStatement$2 | ExpressionWrapper | File$1 | Flow | FlowBaseAnnotation | FlowDeclaration | FlowPredicate | FlowType | For | ForInStatement$2 | ForOfStatement$2 | ForStatement$2 | ForXStatement | Function$2 | FunctionDeclaration$2 | FunctionExpression$3 | FunctionParameter | FunctionParent | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier$2 | IfStatement$3 | Immutable | Import$2 | ImportAttribute$2 | ImportDeclaration$2 | ImportDefaultSpecifier$1 | ImportExpression$2 | ImportNamespaceSpecifier$1 | ImportOrExportDeclaration | ImportSpecifier$2 | IndexedAccessType$1 | InferredPredicate | InterfaceDeclaration$1 | InterfaceExtends | InterfaceTypeAnnotation | InterpreterDirective | IntersectionTypeAnnotation | JSX | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LVal | LabeledStatement$2 | Literal$1 | LogicalExpression$1 | Loop | MemberExpression$2 | MetaProperty$2 | Method | Miscellaneous | MixedTypeAnnotation | ModuleDeclaration$2 | ModuleExpression | ModuleSpecifier$1 | NewExpression$2 | Noop | NullLiteral$1 | NullLiteralTypeAnnotation | NullableTypeAnnotation | NumberLiteral | NumberLiteralTypeAnnotation | NumberTypeAnnotation | NumericLiteral$1 | ObjectExpression$2 | ObjectMember | ObjectMethod | ObjectPattern$1 | ObjectProperty | ObjectTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalCallExpression | OptionalIndexedAccessType | OptionalMemberExpression | ParenthesizedExpression$1 | Pattern$1 | PatternLike | PipelineBareFunction | PipelinePrimaryTopicReference | PipelineTopicExpression | Placeholder | Private | PrivateName | Program$2 | Property$3 | Pureish | QualifiedTypeIdentifier | RecordExpression | RegExpLiteral$1 | RegexLiteral | RestElement$1 | RestProperty | ReturnStatement$3 | Scopable | SequenceExpression$2 | SpreadElement$2 | SpreadProperty | Standardized | Statement$2 | StaticBlock$1 | StringLiteral$1 | StringLiteralTypeAnnotation | StringTypeAnnotation | Super$1 | SwitchCase$1 | SwitchStatement$2 | SymbolTypeAnnotation | TSAnyKeyword | TSArrayType | TSAsExpression | TSBaseType | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSConditionalType | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEntityName | TSEnumBody | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExpressionWithTypeArguments | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSIndexedAccessType | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSQualifiedName | TSRestType | TSSatisfiesExpression | TSStringKeyword | TSSymbolKeyword | TSTemplateLiteralType | TSThisType | TSTupleType | TSType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeElement | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | TaggedTemplateExpression$2 | TemplateElement$1 | TemplateLiteral$3 | Terminatorless | ThisExpression$2 | ThisTypeAnnotation | ThrowStatement$2 | TopicReference | TryStatement$2 | TupleExpression | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter$1 | TypeParameterDeclaration$1 | TypeParameterInstantiation | TypeScript | TypeofTypeAnnotation | UnaryExpression$2 | UnaryLike | UnionTypeAnnotation | UpdateExpression$2 | UserWhitespacable | V8IntrinsicIdentifier | VariableDeclaration$2 | VariableDeclarator$1 | Variance | VoidPattern | VoidTypeAnnotation | While | WhileStatement$2 | WithStatement$2 | YieldExpression$2;
interface ArrayExpression$2 extends BaseNode$1 {
type: "ArrayExpression";
elements: (null | Expression$2 | SpreadElement$2)[];
}
interface AssignmentExpression$3 extends BaseNode$1 {
type: "AssignmentExpression";
operator: string;
left: LVal | OptionalMemberExpression;
right: Expression$2;
}
interface BinaryExpression$2 extends BaseNode$1 {
type: "BinaryExpression";
operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>";
left: Expression$2 | PrivateName;
right: Expression$2;
}
interface InterpreterDirective extends BaseNode$1 {
type: "InterpreterDirective";
value: string;
}
interface Directive$2 extends BaseNode$1 {
type: "Directive";
value: DirectiveLiteral;
}
interface DirectiveLiteral extends BaseNode$1 {
type: "DirectiveLiteral";
value: string;
}
interface BlockStatement$2 extends BaseNode$1 {
type: "BlockStatement";
body: Statement$2[];
directives: Directive$2[];
}
interface BreakStatement$2 extends BaseNode$1 {
type: "BreakStatement";
label: Identifier$2 | null;
}
interface CallExpression$3 extends BaseNode$1 {
type: "CallExpression";
callee: Expression$2 | Super$1 | V8IntrinsicIdentifier;
arguments: (Expression$2 | SpreadElement$2 | ArgumentPlaceholder)[];
optional: boolean | null;
typeArguments: TypeParameterInstantiation | null;
typeParameters: TSTypeParameterInstantiation | null;
}
interface CatchClause$2 extends BaseNode$1 {
type: "CatchClause";
param: Identifier$2 | ArrayPattern$1 | ObjectPattern$1 | null;
body: BlockStatement$2;
}
interface ConditionalExpression$3 extends BaseNode$1 {
type: "ConditionalExpression";
test: Expression$2;
consequent: Expression$2;
alternate: Expression$2;
}
interface ContinueStatement$2 extends BaseNode$1 {
type: "ContinueStatement";
label: Identifier$2 | null;
}
interface DebuggerStatement$2 extends BaseNode$1 {
type: "DebuggerStatement";
}
interface DoWhileStatement$1 extends BaseNode$1 {
type: "DoWhileStatement";
test: Expression$2;
body: Statement$2;
}
interface EmptyStatement$2 extends BaseNode$1 {
type: "EmptyStatement";
}
interface ExpressionStatement$2 extends BaseNode$1 {
type: "ExpressionStatement";
expression: Expression$2;
}
interface File$1 extends BaseNode$1 {
type: "File";
program: Program$2;
comments: (CommentBlock | CommentLine)[] | null;
tokens: any[] | null;
}
interface ForInStatement$2 extends BaseNode$1 {
type: "ForInStatement";
left: VariableDeclaration$2 | LVal;
right: Expression$2;
body: Statement$2;
}
interface ForStatement$2 extends BaseNode$1 {
type: "ForStatement";
init: VariableDeclaration$2 | Expression$2 | null;
test: Expression$2 | null;
update: Expression$2 | null;
body: Statement$2;
}
interface FunctionDeclaration$2 extends BaseNode$1 {
type: "FunctionDeclaration";
id: Identifier$2 | null;
params: FunctionParameter[];
body: BlockStatement$2;
generator: boolean;
async: boolean;
declare: boolean | null;
predicate: DeclaredPredicate | InferredPredicate | null;
returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
typeParameters: TypeParameterDeclaration$1 | TSTypeParameterDeclaration | Noop | null;
}
interface FunctionExpression$3 extends BaseNode$1 {
type: "FunctionExpression";
id: Identifier$2 | null;
params: FunctionParameter[];
body: BlockStatement$2;
generator: boolean;
async: boolean;
predicate: DeclaredPredicate | InferredPredicate | null;
returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
typeParameters: TypeParameterDeclaration$1 | TSTypeParameterDeclaration | Noop | null;
}
interface Identifier$2 extends BaseNode$1 {
type: "Identifier";
name: string;
decorators: Decorator$1[] | null;
optional: boolean | null;
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface IfStatement$3 extends BaseNode$1 {
type: "IfStatement";
test: Expression$2;
consequent: Statement$2;
alternate: Statement$2 | null;
}
interface LabeledStatement$2 extends BaseNode$1 {
type: "LabeledStatement";
label: Identifier$2;
body: Statement$2;
}
interface StringLiteral$1 extends BaseNode$1 {
type: "StringLiteral";
value: string;
}
interface NumericLiteral$1 extends BaseNode$1 {
type: "NumericLiteral";
value: number;
}
interface NullLiteral$1 extends BaseNode$1 {
type: "NullLiteral";
}
interface BooleanLiteral$1 extends BaseNode$1 {
type: "BooleanLiteral";
value: boolean;
}
interface RegExpLiteral$1 extends BaseNode$1 {
type: "RegExpLiteral";
pattern: string;
flags: string;
}
interface LogicalExpression$1 extends BaseNode$1 {
type: "LogicalExpression";
operator: "||" | "&&" | "??";
left: Expression$2;
right: Expression$2;
}
interface MemberExpression$2 extends BaseNode$1 {
type: "MemberExpression";
object: Expression$2 | Super$1;
property: Expression$2 | Identifier$2 | PrivateName;
computed: boolean;
optional: boolean | null;
}
interface NewExpression$2 extends BaseNode$1 {
type: "NewExpression";
callee: Expression$2 | Super$1 | V8IntrinsicIdentifier;
arguments: (Expression$2 | SpreadElement$2 | ArgumentPlaceholder)[];
optional: boolean | null;
typeArguments: TypeParameterInstantiation | null;
typeParameters: TSTypeParameterInstantiation | null;
}
interface Program$2 extends BaseNode$1 {
type: "Program";
body: Statement$2[];
directives: Directive$2[];
sourceType: "script" | "module";
interpreter: InterpreterDirective | null;
}
interface ObjectExpression$2 extends BaseNode$1 {
type: "ObjectExpression";
properties: (ObjectMethod | ObjectProperty | SpreadElement$2)[];
}
interface ObjectMethod extends BaseNode$1 {
type: "ObjectMethod";
kind: "method" | "get" | "set";
key: Expression$2 | Identifier$2 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$2;
params: FunctionParameter[];
body: BlockStatement$2;
computed: boolean;
generator: boolean;
async: boolean;
decorators: Decorator$1[] | null;
returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
typeParameters: TypeParameterDeclaration$1 | TSTypeParameterDeclaration | Noop | null;
}
interface ObjectProperty extends BaseNode$1 {
type: "ObjectProperty";
key: Expression$2 | Identifier$2 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$2 | DecimalLiteral | PrivateName;
value: Expression$2 | PatternLike;
computed: boolean;
shorthand: boolean;
decorators: Decorator$1[] | null;
}
interface RestElement$1 extends BaseNode$1 {
type: "RestElement";
argument: Identifier$2 | ArrayPattern$1 | ObjectPattern$1 | MemberExpression$2 | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression | RestElement$1 | AssignmentPattern$2;
decorators: Decorator$1[] | null;
optional: boolean | null;
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface ReturnStatement$3 extends BaseNode$1 {
type: "ReturnStatement";
argument: Expression$2 | null;
}
interface SequenceExpression$2 extends BaseNode$1 {
type: "SequenceExpression";
expressions: Expression$2[];
}
interface ParenthesizedExpression$1 extends BaseNode$1 {
type: "ParenthesizedExpression";
expression: Expression$2;
}
interface SwitchCase$1 extends BaseNode$1 {
type: "SwitchCase";
test: Expression$2 | null;
consequent: Statement$2[];
}
interface SwitchStatement$2 extends BaseNode$1 {
type: "SwitchStatement";
discriminant: Expression$2;
cases: SwitchCase$1[];
}
interface ThisExpression$2 extends BaseNode$1 {
type: "ThisExpression";
}
interface ThrowStatement$2 extends BaseNode$1 {
type: "ThrowStatement";
argument: Expression$2;
}
interface TryStatement$2 extends BaseNode$1 {
type: "TryStatement";
block: BlockStatement$2;
handler: CatchClause$2 | null;
finalizer: BlockStatement$2 | null;
}
interface UnaryExpression$2 extends BaseNode$1 {
type: "UnaryExpression";
operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof";
argument: Expression$2;
prefix: boolean;
}
interface UpdateExpression$2 extends BaseNode$1 {
type: "UpdateExpression";
operator: "++" | "--";
argument: Expression$2;
prefix: boolean;
}
interface VariableDeclaration$2 extends BaseNode$1 {
type: "VariableDeclaration";
kind: "var" | "let" | "const" | "using" | "await using";
declarations: VariableDeclarator$1[];
declare: boolean | null;
}
interface VariableDeclarator$1 extends BaseNode$1 {
type: "VariableDeclarator";
id: LVal | VoidPattern;
init: Expression$2 | null;
definite: boolean | null;
}
interface WhileStatement$2 extends BaseNode$1 {
type: "WhileStatement";
test: Expression$2;
body: Statement$2;
}
interface WithStatement$2 extends BaseNode$1 {
type: "WithStatement";
object: Expression$2;
body: Statement$2;
}
interface AssignmentPattern$2 extends BaseNode$1 {
type: "AssignmentPattern";
left: Identifier$2 | ObjectPattern$1 | ArrayPattern$1 | MemberExpression$2 | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
right: Expression$2;
decorators: Decorator$1[] | null;
optional: boolean | null;
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface ArrayPattern$1 extends BaseNode$1 {
type: "ArrayPattern";
elements: (null | PatternLike)[];
decorators: Decorator$1[] | null;
optional: boolean | null;
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface ArrowFunctionExpression$1 extends BaseNode$1 {
type: "ArrowFunctionExpression";
params: FunctionParameter[];
body: BlockStatement$2 | Expression$2;
async: boolean;
expression: boolean;
generator: boolean;
predicate: DeclaredPredicate | InferredPredicate | null;
returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
typeParameters: TypeParameterDeclaration$1 | TSTypeParameterDeclaration | Noop | null;
}
interface ClassBody$1 extends BaseNode$1 {
type: "ClassBody";
body: (ClassMethod | ClassPrivateMethod | ClassProperty | ClassPrivateProperty | ClassAccessorProperty | TSDeclareMethod | TSIndexSignature | StaticBlock$1)[];
}
interface ClassExpression$2 extends BaseNode$1 {
type: "ClassExpression";
id: Identifier$2 | null;
superClass: Expression$2 | null;
body: ClassBody$1;
decorators: Decorator$1[] | null;
implements: (TSExpressionWithTypeArguments | ClassImplements)[] | null;
mixins: InterfaceExtends | null;
superTypeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
typeParameters: TypeParameterDeclaration$1 | TSTypeParameterDeclaration | Noop | null;
}
interface ClassDeclaration$2 extends BaseNode$1 {
type: "ClassDeclaration";
id: Identifier$2 | null;
superClass: Expression$2 | null;
body: ClassBody$1;
decorators: Decorator$1[] | null;
abstract: boolean | null;
declare: boolean | null;
implements: (TSExpressionWithTypeArguments | ClassImplements)[] | null;
mixins: InterfaceExtends | null;
superTypeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
typeParameters: TypeParameterDeclaration$1 | TSTypeParameterDeclaration | Noop | null;
}
interface ExportAllDeclaration$1 extends BaseNode$1 {
type: "ExportAllDeclaration";
source: StringLiteral$1;
attributes: ImportAttribute$2[] | null;
assertions: ImportAttribute$2[] | null;
exportKind: "type" | "value" | null;
}
interface ExportDefaultDeclaration$1 extends BaseNode$1 {
type: "ExportDefaultDeclaration";
declaration: TSDeclareFunction | FunctionDeclaration$2 | ClassDeclaration$2 | Expression$2;
exportKind: "value" | null;
}
interface ExportNamedDeclaration$1 extends BaseNode$1 {
type: "ExportNamedDeclaration";
declaration: Declaration$2 | null;
specifiers: (ExportSpecifier$2 | ExportDefaultSpecifier | ExportNamespaceSpecifier)[];
source: StringLiteral$1 | null;
attributes: ImportAttribute$2[] | null;
assertions: ImportAttribute$2[] | null;
exportKind: "type" | "value" | null;
}
interface ExportSpecifier$2 extends BaseNode$1 {
type: "ExportSpecifier";
local: Identifier$2;
exported: Identifier$2 | StringLiteral$1;
exportKind: "type" | "value" | null;
}
interface ForOfStatement$2 extends BaseNode$1 {
type: "ForOfStatement";
left: VariableDeclaration$2 | LVal;
right: Expression$2;
body: Statement$2;
await: boolean;
}
interface ImportDeclaration$2 extends BaseNode$1 {
type: "ImportDeclaration";
specifiers: (ImportSpecifier$2 | ImportDefaultSpecifier$1 | ImportNamespaceSpecifier$1)[];
source: StringLiteral$1;
attributes: ImportAttribute$2[] | null;
assertions: ImportAttribute$2[] | null;
importKind: "type" | "typeof" | "value" | null;
module: boolean | null;
phase: "source" | "defer" | null;
}
interface ImportDefaultSpecifier$1 extends BaseNode$1 {
type: "ImportDefaultSpecifier";
local: Identifier$2;
}
interface ImportNamespaceSpecifier$1 extends BaseNode$1 {
type: "ImportNamespaceSpecifier";
local: Identifier$2;
}
interface ImportSpecifier$2 extends BaseNode$1 {
type: "ImportSpecifier";
local: Identifier$2;
imported: Identifier$2 | StringLiteral$1;
importKind: "type" | "typeof" | "value" | null;
}
interface ImportExpression$2 extends BaseNode$1 {
type: "ImportExpression";
source: Expression$2;
options: Expression$2 | null;
phase: "source" | "defer" | null;
}
interface MetaProperty$2 extends BaseNode$1 {
type: "MetaProperty";
meta: Identifier$2;
property: Identifier$2;
}
interface ClassMethod extends BaseNode$1 {
type: "ClassMethod";
kind: "get" | "set" | "method" | "constructor";
key: Identifier$2 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$2 | Expression$2;
params: (FunctionParameter | TSParameterProperty)[];
body: BlockStatement$2;
computed: boolean;
static: boolean;
generator: boolean;
async: boolean;
abstract: boolean | null;
access: "public" | "private" | "protected" | null;
accessibility: "public" | "private" | "protected" | null;
decorators: Decorator$1[] | null;
optional: boolean | null;
override: boolean;
returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
typeParameters: TypeParameterDeclaration$1 | TSTypeParameterDeclaration | Noop | null;
}
interface ObjectPattern$1 extends BaseNode$1 {
type: "ObjectPattern";
properties: (RestElement$1 | ObjectProperty)[];
decorators: Decorator$1[] | null;
optional: boolean | null;
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface SpreadElement$2 extends BaseNode$1 {
type: "SpreadElement";
argument: Expression$2;
}
interface Super$1 extends BaseNode$1 {
type: "Super";
}
interface TaggedTemplateExpression$2 extends BaseNode$1 {
type: "TaggedTemplateExpression";
tag: Expression$2;
quasi: TemplateLiteral$3;
typeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
}
interface TemplateElement$1 extends BaseNode$1 {
type: "TemplateElement";
value: {
raw: string;
cooked?: string;
};
tail: boolean;
}
interface TemplateLiteral$3 extends BaseNode$1 {
type: "TemplateLiteral";
quasis: TemplateElement$1[];
expressions: (Expression$2 | TSType)[];
}
interface YieldExpression$2 extends BaseNode$1 {
type: "YieldExpression";
argument: Expression$2 | null;
delegate: boolean;
}
interface AwaitExpression$2 extends BaseNode$1 {
type: "AwaitExpression";
argument: Expression$2;
}
interface Import$2 extends BaseNode$1 {
type: "Import";
}
interface BigIntLiteral$2 extends BaseNode$1 {
type: "BigIntLiteral";
value: string;
}
interface ExportNamespaceSpecifier extends BaseNode$1 {
type: "ExportNamespaceSpecifier";
exported: Identifier$2;
}
interface OptionalMemberExpression extends BaseNode$1 {
type: "OptionalMemberExpression";
object: Expression$2;
property: Expression$2 | Identifier$2;
computed: boolean;
optional: boolean;
}
interface OptionalCallExpression extends BaseNode$1 {
type: "OptionalCallExpression";
callee: Expression$2;
arguments: (Expression$2 | SpreadElement$2 | ArgumentPlaceholder)[];
optional: boolean;
typeArguments: TypeParameterInstantiation | null;
typeParameters: TSTypeParameterInstantiation | null;
}
interface ClassProperty extends BaseNode$1 {
type: "ClassProperty";
key: Identifier$2 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$2 | Expression$2;
value: Expression$2 | null;
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
decorators: Decorator$1[] | null;
computed: boolean;
static: boolean;
abstract: boolean | null;
accessibility: "public" | "private" | "protected" | null;
declare: boolean | null;
definite: boolean | null;
optional: boolean | null;
override: boolean;
readonly: boolean | null;
variance: Variance | null;
}
interface ClassAccessorProperty extends BaseNode$1 {
type: "ClassAccessorProperty";
key: Identifier$2 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$2 | Expression$2 | PrivateName;
value: Expression$2 | null;
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
decorators: Decorator$1[] | null;
computed: boolean;
static: boolean;
abstract: boolean | null;
accessibility: "public" | "private" | "protected" | null;
declare: boolean | null;
definite: boolean | null;
optional: boolean | null;
override: boolean;
readonly: boolean | null;
variance: Variance | null;
}
interface ClassPrivateProperty extends BaseNode$1 {
type: "ClassPrivateProperty";
key: PrivateName;
value: Expression$2 | null;
decorators: Decorator$1[] | null;
static: boolean;
definite: boolean | null;
optional: boolean | null;
readonly: boolean | null;
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
variance: Variance | null;
}
interface ClassPrivateMethod extends BaseNode$1 {
type: "ClassPrivateMethod";
kind: "get" | "set" | "method";
key: PrivateName;
params: (FunctionParameter | TSParameterProperty)[];
body: BlockStatement$2;
static: boolean;
abstract: boolean | null;
access: "public" | "private" | "protected" | null;
accessibility: "public" | "private" | "protected" | null;
async: boolean;
computed: boolean;
decorators: Decorator$1[] | null;
generator: boolean;
optional: boolean | null;
override: boolean;
returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
typeParameters: TypeParameterDeclaration$1 | TSTypeParameterDeclaration | Noop | null;
}
interface PrivateName extends BaseNode$1 {
type: "PrivateName";
id: Identifier$2;
}
interface StaticBlock$1 extends BaseNode$1 {
type: "StaticBlock";
body: Statement$2[];
}
interface ImportAttribute$2 extends BaseNode$1 {
type: "ImportAttribute";
key: Identifier$2 | StringLiteral$1;
value: StringLiteral$1;
}
interface AnyTypeAnnotation extends BaseNode$1 {
type: "AnyTypeAnnotation";
}
interface ArrayTypeAnnotation extends BaseNode$1 {
type: "ArrayTypeAnnotation";
elementType: FlowType;
}
interface BooleanTypeAnnotation extends BaseNode$1 {
type: "BooleanTypeAnnotation";
}
interface BooleanLiteralTypeAnnotation extends BaseNode$1 {
type: "BooleanLiteralTypeAnnotation";
value: boolean;
}
interface NullLiteralTypeAnnotation extends BaseNode$1 {
type: "NullLiteralTypeAnnotation";
}
interface ClassImplements extends BaseNode$1 {
type: "ClassImplements";
id: Identifier$2;
typeParameters: TypeParameterInstantiation | null;
}
interface DeclareClass extends BaseNode$1 {
type: "DeclareClass";
id: Identifier$2;
typeParameters: TypeParameterDeclaration$1 | null;
extends: InterfaceExtends[] | null;
body: ObjectTypeAnnotation;
implements: ClassImplements[] | null;
mixins: InterfaceExtends[] | null;
}
interface DeclareFunction extends BaseNode$1 {
type: "DeclareFunction";
id: Identifier$2;
predicate: DeclaredPredicate | null;
}
interface DeclareInterface extends BaseNode$1 {
type: "DeclareInterface";
id: Identifier$2;
typeParameters: TypeParameterDeclaration$1 | null;
extends: InterfaceExtends[] | null;
body: ObjectTypeAnnotation;
}
interface DeclareModule extends BaseNode$1 {
type: "DeclareModule";
id: Identifier$2 | StringLiteral$1;
body: BlockStatement$2;
kind: "CommonJS" | "ES" | null;
}
interface DeclareModuleExports extends BaseNode$1 {
type: "DeclareModuleExports";
typeAnnotation: TypeAnnotation;
}
interface DeclareTypeAlias extends BaseNode$1 {
type: "DeclareTypeAlias";
id: Identifier$2;
typeParameters: TypeParameterDeclaration$1 | null;
right: FlowType;
}
interface DeclareOpaqueType extends BaseNode$1 {
type: "DeclareOpaqueType";
id: Identifier$2;
typeParameters: TypeParameterDeclaration$1 | null;
supertype: FlowType | null;
impltype: FlowType | null;
}
interface DeclareVariable extends BaseNode$1 {
type: "DeclareVariable";
id: Identifier$2;
}
interface DeclareExportDeclaration extends BaseNode$1 {
type: "DeclareExportDeclaration";
declaration: Flow | null;
specifiers: (ExportSpecifier$2 | ExportNamespaceSpecifier)[] | null;
source: StringLiteral$1 | null;
attributes: ImportAttribute$2[] | null;
assertions: ImportAttribute$2[] | null;
default: boolean | null;
}
interface DeclareExportAllDeclaration extends BaseNode$1 {
type: "DeclareExportAllDeclaration";
source: StringLiteral$1;
attributes: ImportAttribute$2[] | null;
assertions: ImportAttribute$2[] | null;
exportKind: "type" | "value" | null;
}
interface DeclaredPredicate extends BaseNode$1 {
type: "DeclaredPredicate";
value: Flow;
}
interface ExistsTypeAnnotation extends BaseNode$1 {
type: "ExistsTypeAnnotation";
}
interface FunctionTypeAnnotation extends BaseNode$1 {
type: "FunctionTypeAnnotation";
typeParameters: TypeParameterDeclaration$1 | null;
params: FunctionTypeParam[];
rest: FunctionTypeParam | null;
returnType: FlowType;
this: FunctionTypeParam | null;
}
interface FunctionTypeParam extends BaseNode$1 {
type: "FunctionTypeParam";
name: Identifier$2 | null;
typeAnnotation: FlowType;
optional: boolean | null;
}
interface GenericTypeAnnotation extends BaseNode$1 {
type: "GenericTypeAnnotation";
id: Identifier$2 | QualifiedTypeIdentifier;
typeParameters: TypeParameterInstantiation | null;
}
interface InferredPredicate extends BaseNode$1 {
type: "InferredPredicate";
}
interface InterfaceExtends extends BaseNode$1 {
type: "InterfaceExtends";
id: Identifier$2 | QualifiedTypeIdentifier;
typeParameters: TypeParameterInstantiation | null;
}
interface InterfaceDeclaration$1 extends BaseNode$1 {
type: "InterfaceDeclaration";
id: Identifier$2;
typeParameters: TypeParameterDeclaration$1 | null;
extends: InterfaceExtends[] | null;
body: ObjectTypeAnnotation;
}
interface InterfaceTypeAnnotation extends BaseNode$1 {
type: "InterfaceTypeAnnotation";
extends: InterfaceExtends[] | null;
body: ObjectTypeAnnotation;
}
interface IntersectionTypeAnnotation extends BaseNode$1 {
type: "IntersectionTypeAnnotation";
types: FlowType[];
}
interface MixedTypeAnnotation extends BaseNode$1 {
type: "MixedTypeAnnotation";
}
interface EmptyTypeAnnotation extends BaseNode$1 {
type: "EmptyTypeAnnotation";
}
interface NullableTypeAnnotation extends BaseNode$1 {
type: "NullableTypeAnnotation";
typeAnnotation: FlowType;
}
interface NumberLiteralTypeAnnotation extends BaseNode$1 {
type: "NumberLiteralTypeAnnotation";
value: number;
}
interface NumberTypeAnnotation extends BaseNode$1 {
type: "NumberTypeAnnotation";
}
interface ObjectTypeAnnotation extends BaseNode$1 {
type: "ObjectTypeAnnotation";
properties: (ObjectTypeProperty | ObjectTypeSpreadProperty)[];
indexers: ObjectTypeIndexer[];
callProperties: ObjectTypeCallProperty[];
internalSlots: ObjectTypeInternalSlot[];
exact: boolean;
inexact: boolean | null;
}
interface ObjectTypeInternalSlot extends BaseNode$1 {
type: "ObjectTypeInternalSlot";
id: Identifier$2;
value: FlowType;
optional: boolean;
static: boolean;
method: boolean;
}
interface ObjectTypeCallProperty extends BaseNode$1 {
type: "ObjectTypeCallProperty";
value: FlowType;
static: boolean;
}
interface ObjectTypeIndexer extends BaseNode$1 {
type: "ObjectTypeIndexer";
id: Identifier$2 | null;
key: FlowType;
value: FlowType;
variance: Variance | null;
static: boolean;
}
interface ObjectTypeProperty extends BaseNode$1 {
type: "ObjectTypeProperty";
key: Identifier$2 | StringLiteral$1;
value: FlowType;
variance: Variance | null;
kind: "init" | "get" | "set";
method: boolean;
optional: boolean;
proto: boolean;
static: boolean;
}
interface ObjectTypeSpreadProperty extends BaseNode$1 {
type: "ObjectTypeSpreadProperty";
argument: FlowType;
}
interface OpaqueType extends BaseNode$1 {
type: "OpaqueType";
id: Identifier$2;
typeParameters: TypeParameterDeclaration$1 | null;
supertype: FlowType | null;
impltype: FlowType;
}
interface QualifiedTypeIdentifier extends BaseNode$1 {
type: "QualifiedTypeIdentifier";
id: Identifier$2;
qualification: Identifier$2 | QualifiedTypeIdentifier;
}
interface StringLiteralTypeAnnotation extends BaseNode$1 {
type: "StringLiteralTypeAnnotation";
value: string;
}
interface StringTypeAnnotation extends BaseNode$1 {
type: "StringTypeAnnotation";
}
interface SymbolTypeAnnotation extends BaseNode$1 {
type: "SymbolTypeAnnotation";
}
interface ThisTypeAnnotation extends BaseNode$1 {
type: "ThisTypeAnnotation";
}
interface TupleTypeAnnotation extends BaseNode$1 {
type: "TupleTypeAnnotation";
types: FlowType[];
}
interface TypeofTypeAnnotation extends BaseNode$1 {
type: "TypeofTypeAnnotation";
argument: FlowType;
}
interface TypeAlias extends BaseNode$1 {
type: "TypeAlias";
id: Identifier$2;
typeParameters: TypeParameterDeclaration$1 | null;
right: FlowType;
}
interface TypeAnnotation extends BaseNode$1 {
type: "TypeAnnotation";
typeAnnotation: FlowType;
}
interface TypeCastExpression extends BaseNode$1 {
type: "TypeCastExpression";
expression: Expression$2;
typeAnnotation: TypeAnnotation;
}
interface TypeParameter$1 extends BaseNode$1 {
type: "TypeParameter";
bound: TypeAnnotation | null;
default: FlowType | null;
variance: Variance | null;
name: string;
}
interface TypeParameterDeclaration$1 extends BaseNode$1 {
type: "TypeParameterDeclaration";
params: TypeParameter$1[];
}
interface TypeParameterInstantiation extends BaseNode$1 {
type: "TypeParameterInstantiation";
params: FlowType[];
}
interface UnionTypeAnnotation extends BaseNode$1 {
type: "UnionTypeAnnotation";
types: FlowType[];
}
interface Variance extends BaseNode$1 {
type: "Variance";
kind: "minus" | "plus";
}
interface VoidTypeAnnotation extends BaseNode$1 {
type: "VoidTypeAnnotation";
}
interface EnumDeclaration$1 extends BaseNode$1 {
type: "EnumDeclaration";
id: Identifier$2;
body: EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody;
}
interface EnumBooleanBody extends BaseNode$1 {
type: "EnumBooleanBody";
members: EnumBooleanMember[];
explicitType: boolean;
hasUnknownMembers: boolean;
}
interface EnumNumberBody extends BaseNode$1 {
type: "EnumNumberBody";
members: EnumNumberMember[];
explicitType: boolean;
hasUnknownMembers: boolean;
}
interface EnumStringBody extends BaseNode$1 {
type: "EnumStringBody";
members: (EnumStringMember | EnumDefaultedMember)[];
explicitType: boolean;
hasUnknownMembers: boolean;
}
interface EnumSymbolBody extends BaseNode$1 {
type: "EnumSymbolBody";
members: EnumDefaultedMember[];
hasUnknownMembers: boolean;
}
interface EnumBooleanMember extends BaseNode$1 {
type: "EnumBooleanMember";
id: Identifier$2;
init: BooleanLiteral$1;
}
interface EnumNumberMember extends BaseNode$1 {
type: "EnumNumberMember";
id: Identifier$2;
init: NumericLiteral$1;
}
interface EnumStringMember extends BaseNode$1 {
type: "EnumStringMember";
id: Identifier$2;
init: StringLiteral$1;
}
interface EnumDefaultedMember extends BaseNode$1 {
type: "EnumDefaultedMember";
id: Identifier$2;
}
interface IndexedAccessType$1 extends BaseNode$1 {
type: "IndexedAccessType";
objectType: FlowType;
indexType: FlowType;
}
interface OptionalIndexedAccessType extends BaseNode$1 {
type: "OptionalIndexedAccessType";
objectType: FlowType;
indexType: FlowType;
optional: boolean;
}
interface JSXAttribute extends BaseNode$1 {
type: "JSXAttribute";
name: JSXIdentifier | JSXNamespacedName;
value: JSXElement | JSXFragment | StringLiteral$1 | JSXExpressionContainer | null;
}
interface JSXClosingElement extends BaseNode$1 {
type: "JSXClosingElement";
name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
}
interface JSXElement extends BaseNode$1 {
type: "JSXElement";
openingElement: JSXOpeningElement;
closingElement: JSXClosingElement | null;
children: (JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment)[];
selfClosing: boolean | null;
}
interface JSXEmptyExpression extends BaseNode$1 {
type: "JSXEmptyExpression";
}
interface JSXExpressionContainer extends BaseNode$1 {
type: "JSXExpressionContainer";
expression: Expression$2 | JSXEmptyExpression;
}
interface JSXSpreadChild extends BaseNode$1 {
type: "JSXSpreadChild";
expression: Expression$2;
}
interface JSXIdentifier extends BaseNode$1 {
type: "JSXIdentifier";
name: string;
}
interface JSXMemberExpression extends BaseNode$1 {
type: "JSXMemberExpression";
object: JSXMemberExpression | JSXIdentifier;
property: JSXIdentifier;
}
interface JSXNamespacedName extends BaseNode$1 {
type: "JSXNamespacedName";
namespace: JSXIdentifier;
name: JSXIdentifier;
}
interface JSXOpeningElement extends BaseNode$1 {
type: "JSXOpeningElement";
name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
attributes: (JSXAttribute | JSXSpreadAttribute)[];
selfClosing: boolean;
typeArguments: TypeParameterInstantiation | null;
typeParameters: TSTypeParameterInstantiation | null;
}
interface JSXSpreadAttribute extends BaseNode$1 {
type: "JSXSpreadAttribute";
argument: Expression$2;
}
interface JSXText extends BaseNode$1 {
type: "JSXText";
value: string;
}
interface JSXFragment extends BaseNode$1 {
type: "JSXFragment";
openingFragment: JSXOpeningFragment;
closingFragment: JSXClosingFragment;
children: (JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment)[];
}
interface JSXOpeningFragment extends BaseNode$1 {
type: "JSXOpeningFragment";
}
interface JSXClosingFragment extends BaseNode$1 {
type: "JSXClosingFragment";
}
interface Noop extends BaseNode$1 {
type: "Noop";
}
interface Placeholder extends BaseNode$1 {
type: "Placeholder";
expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern";
name: Identifier$2;
decorators: Decorator$1[] | null;
optional: boolean | null;
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface V8IntrinsicIdentifier extends BaseNode$1 {
type: "V8IntrinsicIdentifier";
name: string;
}
interface ArgumentPlaceholder extends BaseNode$1 {
type: "ArgumentPlaceholder";
}
interface BindExpression extends BaseNode$1 {
type: "BindExpression";
object: Expression$2;
callee: Expression$2;
}
interface Decorator$1 extends BaseNode$1 {
type: "Decorator";
expression: Expression$2;
}
interface DoExpression extends BaseNode$1 {
type: "DoExpression";
body: BlockStatement$2;
async: boolean;
}
interface ExportDefaultSpecifier extends BaseNode$1 {
type: "ExportDefaultSpecifier";
exported: Identifier$2;
}
interface RecordExpression extends BaseNode$1 {
type: "RecordExpression";
properties: (ObjectProperty | SpreadElement$2)[];
}
interface TupleExpression extends BaseNode$1 {
type: "TupleExpression";
elements: (Expression$2 | SpreadElement$2)[];
}
interface DecimalLiteral extends BaseNode$1 {
type: "DecimalLiteral";
value: string;
}
interface ModuleExpression extends BaseNode$1 {
type: "ModuleExpression";
body: Program$2;
}
interface TopicReference extends BaseNode$1 {
type: "TopicReference";
}
interface PipelineTopicExpression extends BaseNode$1 {
type: "PipelineTopicExpression";
expression: Expression$2;
}
interface PipelineBareFunction extends BaseNode$1 {
type: "PipelineBareFunction";
callee: Expression$2;
}
interface PipelinePrimaryTopicReference extends BaseNode$1 {
type: "PipelinePrimaryTopicReference";
}
interface VoidPattern extends BaseNode$1 {
type: "VoidPattern";
}
interface TSParameterProperty extends BaseNode$1 {
type: "TSParameterProperty";
parameter: Identifier$2 | AssignmentPattern$2;
accessibility: "public" | "private" | "protected" | null;
decorators: Decorator$1[] | null;
override: boolean | null;
readonly: boolean | null;
}
interface TSDeclareFunction extends BaseNode$1 {
type: "TSDeclareFunction";
id: Identifier$2 | null;
typeParameters: TSTypeParameterDeclaration | Noop | null;
params: FunctionParameter[];
returnType: TSTypeAnnotation | Noop | null;
async: boolean;
declare: boolean | null;
generator: boolean;
}
interface TSDeclareMethod extends BaseNode$1 {
type: "TSDeclareMethod";
decorators: Decorator$1[] | null;
key: Identifier$2 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$2 | Expression$2;
typeParameters: TSTypeParameterDeclaration | Noop | null;
params: (FunctionParameter | TSParameterProperty)[];
returnType: TSTypeAnnotation | Noop | null;
abstract: boolean | null;
access: "public" | "private" | "protected" | null;
accessibility: "public" | "private" | "protected" | null;
async: boolean;
computed: boolean;
generator: boolean;
kind: "get" | "set" | "method" | "constructor";
optional: boolean | null;
override: boolean;
static: boolean;
}
interface TSQualifiedName extends BaseNode$1 {
type: "TSQualifiedName";
left: TSEntityName;
right: Identifier$2;
}
interface TSCallSignatureDeclaration extends BaseNode$1 {
type: "TSCallSignatureDeclaration";
typeParameters: TSTypeParameterDeclaration | null;
parameters: (ArrayPattern$1 | Identifier$2 | ObjectPattern$1 | RestElement$1)[];
typeAnnotation: TSTypeAnnotation | null;
}
interface TSConstructSignatureDeclaration extends BaseNode$1 {
type: "TSConstructSignatureDeclaration";
typeParameters: TSTypeParameterDeclaration | null;
parameters: (ArrayPattern$1 | Identifier$2 | ObjectPattern$1 | RestElement$1)[];
typeAnnotation: TSTypeAnnotation | null;
}
interface TSPropertySignature extends BaseNode$1 {
type: "TSPropertySignature";
key: Expression$2;
typeAnnotation: TSTypeAnnotation | null;
computed: boolean;
kind: "get" | "set" | null;
optional: boolean | null;
readonly: boolean | null;
}
interface TSMethodSignature extends BaseNode$1 {
type: "TSMethodSignature";
key: Expression$2;
typeParameters: TSTypeParameterDeclaration | null;
parameters: (ArrayPattern$1 | Identifier$2 | ObjectPattern$1 | RestElement$1)[];
typeAnnotation: TSTypeAnnotation | null;
computed: boolean;
kind: "method" | "get" | "set";
optional: boolean | null;
}
interface TSIndexSignature extends BaseNode$1 {
type: "TSIndexSignature";
parameters: Identifier$2[];
typeAnnotation: TSTypeAnnotation | null;
readonly: boolean | null;
static: boolean | null;
}
interface TSAnyKeyword extends BaseNode$1 {
type: "TSAnyKeyword";
}
interface TSBooleanKeyword extends BaseNode$1 {
type: "TSBooleanKeyword";
}
interface TSBigIntKeyword extends BaseNode$1 {
type: "TSBigIntKeyword";
}
interface TSIntrinsicKeyword extends BaseNode$1 {
type: "TSIntrinsicKeyword";
}
interface TSNeverKeyword extends BaseNode$1 {
type: "TSNeverKeyword";
}
interface TSNullKeyword extends BaseNode$1 {
type: "TSNullKeyword";
}
interface TSNumberKeyword extends BaseNode$1 {
type: "TSNumberKeyword";
}
interface TSObjectKeyword extends BaseNode$1 {
type: "TSObjectKeyword";
}
interface TSStringKeyword extends BaseNode$1 {
type: "TSStringKeyword";
}
interface TSSymbolKeyword extends BaseNode$1 {
type: "TSSymbolKeyword";
}
interface TSUndefinedKeyword extends BaseNode$1 {
type: "TSUndefinedKeyword";
}
interface TSUnknownKeyword extends BaseNode$1 {
type: "TSUnknownKeyword";
}
interface TSVoidKeyword extends BaseNode$1 {
type: "TSVoidKeyword";
}
interface TSThisType extends BaseNode$1 {
type: "TSThisType";
}
interface TSFunctionType extends BaseNode$1 {
type: "TSFunctionType";
typeParameters: TSTypeParameterDeclaration | null;
parameters: (ArrayPattern$1 | Identifier$2 | ObjectPattern$1 | RestElement$1)[];
typeAnnotation: TSTypeAnnotation | null;
}
interface TSConstructorType extends BaseNode$1 {
type: "TSConstructorType";
typeParameters: TSTypeParameterDeclaration | null;
parameters: (ArrayPattern$1 | Identifier$2 | ObjectPattern$1 | RestElement$1)[];
typeAnnotation: TSTypeAnnotation | null;
abstract: boolean | null;
}
interface TSTypeReference extends BaseNode$1 {
type: "TSTypeReference";
typeName: TSEntityName;
typeParameters: TSTypeParameterInstantiation | null;
}
interface TSTypePredicate extends BaseNode$1 {
type: "TSTypePredicate";
parameterName: Identifier$2 | TSThisType;
typeAnnotation: TSTypeAnnotation | null;
asserts: boolean | null;
}
interface TSTypeQuery extends BaseNode$1 {
type: "TSTypeQuery";
exprName: TSEntityName | TSImportType;
typeParameters: TSTypeParameterInstantiation | null;
}
interface TSTypeLiteral extends BaseNode$1 {
type: "TSTypeLiteral";
members: TSTypeElement[];
}
interface TSArrayType extends BaseNode$1 {
type: "TSArrayType";
elementType: TSType;
}
interface TSTupleType extends BaseNode$1 {
type: "TSTupleType";
elementTypes: (TSType | TSNamedTupleMember)[];
}
interface TSOptionalType extends BaseNode$1 {
type: "TSOptionalType";
typeAnnotation: TSType;
}
interface TSRestType extends BaseNode$1 {
type: "TSRestType";
typeAnnotation: TSType;
}
interface TSNamedTupleMember extends BaseNode$1 {
type: "TSNamedTupleMember";
label: Identifier$2;
elementType: TSType;
optional: boolean;
}
interface TSUnionType extends BaseNode$1 {
type: "TSUnionType";
types: TSType[];
}
interface TSIntersectionType extends BaseNode$1 {
type: "TSIntersectionType";
types: TSType[];
}
interface TSConditionalType extends BaseNode$1 {
type: "TSConditionalType";
checkType: TSType;
extendsType: TSType;
trueType: TSType;
falseType: TSType;
}
interface TSInferType extends BaseNode$1 {
type: "TSInferType";
typeParameter: TSTypeParameter;
}
interface TSParenthesizedType extends BaseNode$1 {
type: "TSParenthesizedType";
typeAnnotation: TSType;
}
interface TSTypeOperator extends BaseNode$1 {
type: "TSTypeOperator";
typeAnnotation: TSType;
operator: string;
}
interface TSIndexedAccessType extends BaseNode$1 {
type: "TSIndexedAccessType";
objectType: TSType;
indexType: TSType;
}
interface TSMappedType extends BaseNode$1 {
type: "TSMappedType";
typeParameter: TSTypeParameter;
typeAnnotation: TSType | null;
nameType: TSType | null;
optional: true | false | "+" | "-" | null;
readonly: true | false | "+" | "-" | null;
}
interface TSTemplateLiteralType extends BaseNode$1 {
type: "TSTemplateLiteralType";
quasis: TemplateElement$1[];
types: TSType[];
}
interface TSLiteralType extends BaseNode$1 {
type: "TSLiteralType";
literal: NumericLiteral$1 | StringLiteral$1 | BooleanLiteral$1 | BigIntLiteral$2 | TemplateLiteral$3 | UnaryExpression$2;
}
interface TSExpressionWithTypeArguments extends BaseNode$1 {
type: "TSExpressionWithTypeArguments";
expression: TSEntityName;
typeParameters: TSTypeParameterInstantiation | null;
}
interface TSInterfaceDeclaration extends BaseNode$1 {
type: "TSInterfaceDeclaration";
id: Identifier$2;
typeParameters: TSTypeParameterDeclaration | null;
extends: TSExpressionWithTypeArguments[] | null;
body: TSInterfaceBody;
declare: boolean | null;
}
interface TSInterfaceBody extends BaseNode$1 {
type: "TSInterfaceBody";
body: TSTypeElement[];
}
interface TSTypeAliasDeclaration extends BaseNode$1 {
type: "TSTypeAliasDeclaration";
id: Identifier$2;
typeParameters: TSTypeParameterDeclaration | null;
typeAnnotation: TSType;
declare: boolean | null;
}
interface TSInstantiationExpression extends BaseNode$1 {
type: "TSInstantiationExpression";
expression: Expression$2;
typeParameters: TSTypeParameterInstantiation | null;
}
interface TSAsExpression extends BaseNode$1 {
type: "TSAsExpression";
expression: Expression$2;
typeAnnotation: TSType;
}
interface TSSatisfiesExpression extends BaseNode$1 {
type: "TSSatisfiesExpression";
expression: Expression$2;
typeAnnotation: TSType;
}
interface TSTypeAssertion extends BaseNode$1 {
type: "TSTypeAssertion";
typeAnnotation: TSType;
expression: Expression$2;
}
interface TSEnumBody extends BaseNode$1 {
type: "TSEnumBody";
members: TSEnumMember[];
}
interface TSEnumDeclaration extends BaseNode$1 {
type: "TSEnumDeclaration";
id: Identifier$2;
members: TSEnumMember[];
body: TSEnumBody | null;
const: boolean | null;
declare: boolean | null;
initializer: Expression$2 | null;
}
interface TSEnumMember extends BaseNode$1 {
type: "TSEnumMember";
id: Identifier$2 | StringLiteral$1;
initializer: Expression$2 | null;
}
interface TSModuleDeclaration extends BaseNode$1 {
type: "TSModuleDeclaration";
id: Identifier$2 | StringLiteral$1;
body: TSModuleBlock | TSModuleDeclaration;
declare: boolean | null;
global: boolean | null;
kind: "global" | "module" | "namespace";
}
interface TSModuleBlock extends BaseNode$1 {
type: "TSModuleBlock";
body: Statement$2[];
}
interface TSImportType extends BaseNode$1 {
type: "TSImportType";
argument: StringLiteral$1;
qualifier: TSEntityName | null;
typeParameters: TSTypeParameterInstantiation | null;
options: ObjectExpression$2 | null;
}
interface TSImportEqualsDeclaration extends BaseNode$1 {
type: "TSImportEqualsDeclaration";
id: Identifier$2;
moduleReference: TSEntityName | TSExternalModuleReference;
importKind: "type" | "value" | null;
isExport: boolean;
}
interface TSExternalModuleReference extends BaseNode$1 {
type: "TSExternalModuleReference";
expression: StringLiteral$1;
}
interface TSNonNullExpression extends BaseNode$1 {
type: "TSNonNullExpression";
expression: Expression$2;
}
interface TSExportAssignment extends BaseNode$1 {
type: "TSExportAssignment";
expression: Expression$2;
}
interface TSNamespaceExportDeclaration extends BaseNode$1 {
type: "TSNamespaceExportDeclaration";
id: Identifier$2;
}
interface TSTypeAnnotation extends BaseNode$1 {
type: "TSTypeAnnotation";
typeAnnotation: TSType;
}
interface TSTypeParameterInstantiation extends BaseNode$1 {
type: "TSTypeParameterInstantiation";
params: TSType[];
}
interface TSTypeParameterDeclaration extends BaseNode$1 {
type: "TSTypeParameterDeclaration";
params: TSTypeParameter[];
}
interface TSTypeParameter extends BaseNode$1 {
type: "TSTypeParameter";
constraint: TSType | null;
default: TSType | null;
name: string;
const: boolean | null;
in: boolean | null;
out: boolean | null;
}
/**
* @deprecated Use `NumericLiteral`
*/
type NumberLiteral = NumericLiteral$1;
/**
* @deprecated Use `RegExpLiteral`
*/
type RegexLiteral = RegExpLiteral$1;
/**
* @deprecated Use `RestElement`
*/
type RestProperty = RestElement$1;
/**
* @deprecated Use `SpreadElement`
*/
type SpreadProperty = SpreadElement$2;
type Standardized = ArrayExpression$2 | AssignmentExpression$3 | BinaryExpression$2 | InterpreterDirective | Directive$2 | DirectiveLiteral | BlockStatement$2 | BreakStatement$2 | CallExpression$3 | CatchClause$2 | ConditionalExpression$3 | ContinueStatement$2 | DebuggerStatement$2 | DoWhileStatement$1 | EmptyStatement$2 | ExpressionStatement$2 | File$1 | ForInStatement$2 | ForStatement$2 | FunctionDeclaration$2 | FunctionExpression$3 | Identifier$2 | IfStatement$3 | LabeledStatement$2 | StringLiteral$1 | NumericLiteral$1 | NullLiteral$1 | BooleanLiteral$1 | RegExpLiteral$1 | LogicalExpression$1 | MemberExpression$2 | NewExpression$2 | Program$2 | ObjectExpression$2 | ObjectMethod | ObjectProperty | RestElement$1 | ReturnStatement$3 | SequenceExpression$2 | ParenthesizedExpression$1 | SwitchCase$1 | SwitchStatement$2 | ThisExpression$2 | ThrowStatement$2 | TryStatement$2 | UnaryExpression$2 | UpdateExpression$2 | VariableDeclaration$2 | VariableDeclarator$1 | WhileStatement$2 | WithStatement$2 | AssignmentPattern$2 | ArrayPattern$1 | ArrowFunctionExpression$1 | ClassBody$1 | ClassExpression$2 | ClassDeclaration$2 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ExportSpecifier$2 | ForOfStatement$2 | ImportDeclaration$2 | ImportDefaultSpecifier$1 | ImportNamespaceSpecifier$1 | ImportSpecifier$2 | ImportExpression$2 | MetaProperty$2 | ClassMethod | ObjectPattern$1 | SpreadElement$2 | Super$1 | TaggedTemplateExpression$2 | TemplateElement$1 | TemplateLiteral$3 | YieldExpression$2 | AwaitExpression$2 | Import$2 | BigIntLiteral$2 | ExportNamespaceSpecifier | OptionalMemberExpression | OptionalCallExpression | ClassProperty | ClassAccessorProperty | ClassPrivateProperty | ClassPrivateMethod | PrivateName | StaticBlock$1 | ImportAttribute$2;
type Expression$2 = ArrayExpression$2 | AssignmentExpression$3 | BinaryExpression$2 | CallExpression$3 | ConditionalExpression$3 | FunctionExpression$3 | Identifier$2 | StringLiteral$1 | NumericLiteral$1 | NullLiteral$1 | BooleanLiteral$1 | RegExpLiteral$1 | LogicalExpression$1 | MemberExpression$2 | NewExpression$2 | ObjectExpression$2 | SequenceExpression$2 | ParenthesizedExpression$1 | ThisExpression$2 | UnaryExpression$2 | UpdateExpression$2 | ArrowFunctionExpression$1 | ClassExpression$2 | ImportExpression$2 | MetaProperty$2 | Super$1 | TaggedTemplateExpression$2 | TemplateLiteral$3 | YieldExpression$2 | AwaitExpression$2 | Import$2 | BigIntLiteral$2 | OptionalMemberExpression | OptionalCallExpression | TypeCastExpression | JSXElement | JSXFragment | BindExpression | DoExpression | RecordExpression | TupleExpression | DecimalLiteral | ModuleExpression | TopicReference | PipelineTopicExpression | PipelineBareFunction | PipelinePrimaryTopicReference | TSInstantiationExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
type Binary = BinaryExpression$2 | LogicalExpression$1;
type Scopable = BlockStatement$2 | CatchClause$2 | DoWhileStatement$1 | ForInStatement$2 | ForStatement$2 | FunctionDeclaration$2 | FunctionExpression$3 | Program$2 | ObjectMethod | SwitchStatement$2 | WhileStatement$2 | ArrowFunctionExpression$1 | ClassExpression$2 | ClassDeclaration$2 | ForOfStatement$2 | ClassMethod | ClassPrivateMethod | StaticBlock$1 | TSModuleBlock;
type BlockParent = BlockStatement$2 | CatchClause$2 | DoWhileStatement$1 | ForInStatement$2 | ForStatement$2 | FunctionDeclaration$2 | FunctionExpression$3 | Program$2 | ObjectMethod | SwitchStatement$2 | WhileStatement$2 | ArrowFunctionExpression$1 | ForOfStatement$2 | ClassMethod | ClassPrivateMethod | StaticBlock$1 | TSModuleBlock;
type Block$1 = BlockStatement$2 | Program$2 | TSModuleBlock;
type Statement$2 = BlockStatement$2 | BreakStatement$2 | ContinueStatement$2 | DebuggerStatement$2 | DoWhileStatement$1 | EmptyStatement$2 | ExpressionStatement$2 | ForInStatement$2 | ForStatement$2 | FunctionDeclaration$2 | IfStatement$3 | LabeledStatement$2 | ReturnStatement$3 | SwitchStatement$2 | ThrowStatement$2 | TryStatement$2 | VariableDeclaration$2 | WhileStatement$2 | WithStatement$2 | ClassDeclaration$2 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ForOfStatement$2 | ImportDeclaration$2 | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration$1 | OpaqueType | TypeAlias | EnumDeclaration$1 | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration | TSImportEqualsDeclaration | TSExportAssignment | TSNamespaceExportDeclaration;
type Terminatorless = BreakStatement$2 | ContinueStatement$2 | ReturnStatement$3 | ThrowStatement$2 | YieldExpression$2 | AwaitExpression$2;
type CompletionStatement = BreakStatement$2 | ContinueStatement$2 | ReturnStatement$3 | ThrowStatement$2;
type Conditional = ConditionalExpression$3 | IfStatement$3;
type Loop = DoWhileStatement$1 | ForInStatement$2 | ForStatement$2 | WhileStatement$2 | ForOfStatement$2;
type While = DoWhileStatement$1 | WhileStatement$2;
type ExpressionWrapper = ExpressionStatement$2 | ParenthesizedExpression$1 | TypeCastExpression;
type For = ForInStatement$2 | ForStatement$2 | ForOfStatement$2;
type ForXStatement = ForInStatement$2 | ForOfStatement$2;
type Function$2 = FunctionDeclaration$2 | FunctionExpression$3 | ObjectMethod | ArrowFunctionExpression$1 | ClassMethod | ClassPrivateMethod;
type FunctionParent = FunctionDeclaration$2 | FunctionExpression$3 | ObjectMethod | ArrowFunctionExpression$1 | ClassMethod | ClassPrivateMethod | StaticBlock$1 | TSModuleBlock;
type Pureish = FunctionDeclaration$2 | FunctionExpression$3 | StringLiteral$1 | NumericLiteral$1 | NullLiteral$1 | BooleanLiteral$1 | RegExpLiteral$1 | ArrowFunctionExpression$1 | BigIntLiteral$2 | DecimalLiteral;
type Declaration$2 = FunctionDeclaration$2 | VariableDeclaration$2 | ClassDeclaration$2 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ImportDeclaration$2 | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration$1 | OpaqueType | TypeAlias | EnumDeclaration$1 | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration | TSImportEqualsDeclaration;
type FunctionParameter = Identifier$2 | RestElement$1 | AssignmentPattern$2 | ArrayPattern$1 | ObjectPattern$1 | VoidPattern;
type PatternLike = Identifier$2 | MemberExpression$2 | RestElement$1 | AssignmentPattern$2 | ArrayPattern$1 | ObjectPattern$1 | VoidPattern | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
type LVal = Identifier$2 | MemberExpression$2 | RestElement$1 | AssignmentPattern$2 | ArrayPattern$1 | ObjectPattern$1 | TSParameterProperty | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
type TSEntityName = Identifier$2 | TSQualifiedName;
type Literal$1 = StringLiteral$1 | NumericLiteral$1 | NullLiteral$1 | BooleanLiteral$1 | RegExpLiteral$1 | TemplateLiteral$3 | BigIntLiteral$2 | DecimalLiteral;
type Immutable = StringLiteral$1 | NumericLiteral$1 | NullLiteral$1 | BooleanLiteral$1 | BigIntLiteral$2 | JSXAttribute | JSXClosingElement | JSXElement | JSXExpressionContainer | JSXSpreadChild | JSXOpeningElement | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment | DecimalLiteral;
type UserWhitespacable = ObjectMethod | ObjectProperty | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty;
type Method = ObjectMethod | ClassMethod | ClassPrivateMethod;
type ObjectMember = ObjectMethod | ObjectProperty;
type Property$3 = ObjectProperty | ClassProperty | ClassAccessorProperty | ClassPrivateProperty;
type UnaryLike = UnaryExpression$2 | SpreadElement$2;
type Pattern$1 = AssignmentPattern$2 | ArrayPattern$1 | ObjectPattern$1 | VoidPattern;
type Class$1 = ClassExpression$2 | ClassDeclaration$2;
type ImportOrExportDeclaration = ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ImportDeclaration$2;
type ExportDeclaration$1 = ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1;
type ModuleSpecifier$1 = ExportSpecifier$2 | ImportDefaultSpecifier$1 | ImportNamespaceSpecifier$1 | ImportSpecifier$2 | ExportNamespaceSpecifier | ExportDefaultSpecifier;
type Accessor = ClassAccessorProperty;
type Private = ClassPrivateProperty | ClassPrivateMethod | PrivateName;
type Flow = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ClassImplements | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | DeclaredPredicate | ExistsTypeAnnotation | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | InferredPredicate | InterfaceExtends | InterfaceDeclaration$1 | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | QualifiedTypeIdentifier | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter$1 | TypeParameterDeclaration$1 | TypeParameterInstantiation | UnionTypeAnnotation | Variance | VoidTypeAnnotation | EnumDeclaration$1 | EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody | EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember | IndexedAccessType$1 | OptionalIndexedAccessType;
type FlowType = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ExistsTypeAnnotation | FunctionTypeAnnotation | GenericTypeAnnotation | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | UnionTypeAnnotation | VoidTypeAnnotation | IndexedAccessType$1 | OptionalIndexedAccessType;
type FlowBaseAnnotation = AnyTypeAnnotation | BooleanTypeAnnotation | NullLiteralTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NumberTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | VoidTypeAnnotation;
type FlowDeclaration = DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration$1 | OpaqueType | TypeAlias;
type FlowPredicate = DeclaredPredicate | InferredPredicate;
type EnumBody = EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody;
type EnumMember$1 = EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember;
type JSX = JSXAttribute | JSXClosingElement | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXSpreadChild | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXSpreadAttribute | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment;
type Miscellaneous = Noop | Placeholder | V8IntrinsicIdentifier;
type TypeScript = TSParameterProperty | TSDeclareFunction | TSDeclareMethod | TSQualifiedName | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature | TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSFunctionType | TSConstructorType | TSTypeReference | TSTypePredicate | TSTypeQuery | TSTypeLiteral | TSArrayType | TSTupleType | TSOptionalType | TSRestType | TSNamedTupleMember | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSTemplateLiteralType | TSLiteralType | TSExpressionWithTypeArguments | TSInterfaceDeclaration | TSInterfaceBody | TSTypeAliasDeclaration | TSInstantiationExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSEnumBody | TSEnumDeclaration | TSEnumMember | TSModuleDeclaration | TSModuleBlock | TSImportType | TSImportEqualsDeclaration | TSExternalModuleReference | TSNonNullExpression | TSExportAssignment | TSNamespaceExportDeclaration | TSTypeAnnotation | TSTypeParameterInstantiation | TSTypeParameterDeclaration | TSTypeParameter;
type TSTypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature;
type TSType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSFunctionType | TSConstructorType | TSTypeReference | TSTypePredicate | TSTypeQuery | TSTypeLiteral | TSArrayType | TSTupleType | TSOptionalType | TSRestType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSTemplateLiteralType | TSLiteralType | TSExpressionWithTypeArguments | TSImportType;
type TSBaseType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSTemplateLiteralType | TSLiteralType;
type ModuleDeclaration$2 = ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ImportDeclaration$2; //#endregion
//#region ../../node_modules/.pnpm/@babel+parser@7.29.0/node_modules/@babel/parser/typings/babel-parser.d.ts
declare class Position$2 {
line: number;
column: number;
index: number;
constructor(line: number, col: number, index: number);
}
type SyntaxPlugin = "flow" | "typescript" | "jsx" | "pipelineOperator" | "placeholders";
type ParseErrorCode = "BABEL_PARSER_SYNTAX_ERROR" | "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED";
interface ParseErrorSpecification {
code: ParseErrorCode;
reasonCode: string;
syntaxPlugin?: SyntaxPlugin;
missingPlugin?: string | string[];
loc: Position$2;
details: ErrorDetails;
pos: number;
}
type ParseError$1 = SyntaxError & ParseErrorSpecification;
type BABEL_8_BREAKING = false;
type IF_BABEL_7 = false extends BABEL_8_BREAKING ? V : never;
type Plugin$1$4 = "asyncDoExpressions" | IF_BABEL_7<"asyncGenerators"> | IF_BABEL_7<"bigInt"> | IF_BABEL_7<"classPrivateMethods"> | IF_BABEL_7<"classPrivateProperties"> | IF_BABEL_7<"classProperties"> | IF_BABEL_7<"classStaticBlock"> | IF_BABEL_7<"decimal"> | "decorators-legacy" | "deferredImportEvaluation" | "decoratorAutoAccessors" | "destructuringPrivate" | IF_BABEL_7<"deprecatedImportAssert"> | "doExpressions" | IF_BABEL_7<"dynamicImport"> | IF_BABEL_7<"explicitResourceManagement"> | "exportDefaultFrom" | IF_BABEL_7<"exportNamespaceFrom"> | "flow" | "flowComments" | "functionBind" | "functionSent" | "importMeta" | "jsx" | IF_BABEL_7<"jsonStrings"> | IF_BABEL_7<"logicalAssignment"> | IF_BABEL_7<"importAssertions"> | IF_BABEL_7<"importReflection"> | "moduleBlocks" | IF_BABEL_7<"moduleStringNames"> | IF_BABEL_7<"nullishCoalescingOperator"> | IF_BABEL_7<"numericSeparator"> | IF_BABEL_7<"objectRestSpread"> | IF_BABEL_7<"optionalCatchBinding"> | IF_BABEL_7<"optionalChaining"> | "partialApplication" | "placeholders" | IF_BABEL_7<"privateIn"> | IF_BABEL_7<"regexpUnicodeSets"> | "sourcePhaseImports" | "throwExpressions" | IF_BABEL_7<"topLevelAwait"> | "v8intrinsic" | ParserPluginWithOptions[0];
type ParserPluginWithOptions = ["decorators", DecoratorsPluginOptions] | ["discardBinding", {
syntaxType: "void";
}] | ["estree", {
classFeatures?: boolean;
}] | IF_BABEL_7<["importAttributes", {
deprecatedAssertSyntax: boolean;
}]> | IF_BABEL_7<["moduleAttributes", {
version: "may-2020";
}]> | ["optionalChainingAssign", {
version: "2023-07";
}] | ["pipelineOperator", PipelineOperatorPluginOptions] | ["recordAndTuple", RecordAndTuplePluginOptions] | ["flow", FlowPluginOptions] | ["typescript", TypeScriptPluginOptions];
type PluginConfig = Plugin$1$4 | ParserPluginWithOptions;
interface DecoratorsPluginOptions {
decoratorsBeforeExport?: boolean;
allowCallParenthesized?: boolean;
}
interface PipelineOperatorPluginOptions {
proposal: BABEL_8_BREAKING extends false ? "minimal" | "fsharp" | "hack" | "smart" : "fsharp" | "hack";
topicToken?: "%" | "#" | "@@" | "^^" | "^";
}
interface RecordAndTuplePluginOptions {
syntaxType: "bar" | "hash";
}
type FlowPluginOptions = BABEL_8_BREAKING extends true ? {
all?: boolean;
enums?: boolean;
} : {
all?: boolean;
};
interface TypeScriptPluginOptions {
dts?: boolean;
disallowAmbiguousJSXLike?: boolean;
}
type Plugin$5 = PluginConfig;
type SourceType = "script" | "commonjs" | "module" | "unambiguous";
interface Options$3 {
/**
* By default, import and export declarations can only appear at a program's top level.
* Setting this option to true allows them anywhere where a statement is allowed.
*/
allowImportExportEverywhere?: boolean;
/**
* By default, await use is not allowed outside of an async function.
* Set this to true to accept such code.
*/
allowAwaitOutsideFunction?: boolean;
/**
* By default, a return statement at the top level raises an error.
* Set this to true to accept such code.
*/
allowReturnOutsideFunction?: boolean;
/**
* By default, new.target use is not allowed outside of a function or class.
* Set this to true to accept such code.
*/
allowNewTargetOutsideFunction?: boolean;
/**
* By default, super calls are not allowed outside of a method.
* Set this to true to accept such code.
*/
allowSuperOutsideMethod?: boolean;
/**
* By default, exported identifiers must refer to a declared variable.
* Set this to true to allow export statements to reference undeclared variables.
*/
allowUndeclaredExports?: boolean;
/**
* By default, yield use is not allowed outside of a generator function.
* Set this to true to accept such code.
*/
allowYieldOutsideFunction?: boolean;
/**
* By default, Babel parser JavaScript code according to Annex B syntax.
* Set this to `false` to disable such behavior.
*/
annexB?: boolean;
/**
* By default, Babel attaches comments to adjacent AST nodes.
* When this option is set to false, comments are not attached.
* It can provide up to 30% performance improvement when the input code has many comments.
* @babel/eslint-parser will set it for you.
* It is not recommended to use attachComment: false with Babel transform,
* as doing so removes all the comments in output code, and renders annotations such as
* /* istanbul ignore next *\/ nonfunctional.
*/
attachComment?: boolean;
/**
* By default, Babel always throws an error when it finds some invalid code.
* When this option is set to true, it will store the parsing error and
* try to continue parsing the invalid input file.
*/
errorRecovery?: boolean;
/**
* Indicate the mode the code should be parsed in.
* Can be one of "script", "commonjs", "module", or "unambiguous". Defaults to "script".
* "unambiguous" will make @babel/parser attempt to guess, based on the presence
* of ES6 import or export statements.
* Files with ES6 imports and exports are considered "module" and are otherwise "script".
*
* Use "commonjs" to parse code that is intended to be run in a CommonJS environment such as Node.js.
*/
sourceType?: SourceType;
/**
* Correlate output AST nodes with their source filename.
* Useful when generating code and source maps from the ASTs of multiple input files.
*/
sourceFilename?: string;
/**
* By default, all source indexes start from 0.
* You can provide a start index to alternatively start with.
* Useful for integration with other source tools.
*/
startIndex?: number;
/**
* By default, the first line of code parsed is treated as line 1.
* You can provide a line number to alternatively start with.
* Useful for integration with other source tools.
*/
startLine?: number;
/**
* By default, the parsed code is treated as if it starts from line 1, column 0.
* You can provide a column number to alternatively start with.
* Useful for integration with other source tools.
*/
startColumn?: number;
/**
* Array containing the plugins that you want to enable.
*/
plugins?: Plugin$5[];
/**
* Should the parser work in strict mode.
* Defaults to true if sourceType === 'module'. Otherwise, false.
*/
strictMode?: boolean;
/**
* Adds a ranges property to each node: [node.start, node.end]
*/
ranges?: boolean;
/**
* Adds all parsed tokens to a tokens property on the File node.
*/
tokens?: boolean;
/**
* By default, the parser adds information about parentheses by setting
* `extra.parenthesized` to `true` as needed.
* When this option is `true` the parser creates `ParenthesizedExpression`
* AST nodes instead of using the `extra` property.
*/
createParenthesizedExpressions?: boolean;
/**
* The default is false in Babel 7 and true in Babel 8
* Set this to true to parse it as an `ImportExpression` node.
* Otherwise `import(foo)` is parsed as `CallExpression(Import, [Identifier(foo)])`.
*/
createImportExpressions?: boolean;
}
type ParserOptions$1 = Partial;
type ParseError = ParseError$1