@systemfsoftware/stryker-js 12.0.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ import { StandardSchemaV1 } from "effect/StandardSchema";
14
14
  declare interface AccessorProperty$1$1 extends Span$1$1 {
15
15
  type: AccessorPropertyType$1;
16
16
  decorators: Array<Decorator$1$1>;
17
- key: PropertyKey_2$1;
17
+ key: PropertyKey_2;
18
18
  typeAnnotation?: TSTypeAnnotation$1$1 | null;
19
19
  value: Expression$1$1 | null;
20
20
  computed: boolean;
@@ -98,7 +98,7 @@ declare interface AssignmentTargetPropertyIdentifier$1 extends Span$1$1 {
98
98
  declare interface AssignmentTargetPropertyProperty$1 extends Span$1$1 {
99
99
  type: "Property";
100
100
  kind: "init";
101
- key: PropertyKey_2$1;
101
+ key: PropertyKey_2;
102
102
  value: AssignmentTargetMaybeDefault$1;
103
103
  method: false;
104
104
  shorthand: false;
@@ -156,7 +156,7 @@ declare type BindingPattern$1$1 = BindingIdentifier$1$1 | ObjectPattern$1 | Arra
156
156
  declare interface BindingProperty$1$1 extends Span$1$1 {
157
157
  type: "Property";
158
158
  kind: "init";
159
- key: PropertyKey_2$1;
159
+ key: PropertyKey_2;
160
160
  value: BindingPattern$1$1;
161
161
  method: false;
162
162
  shorthand: boolean;
@@ -401,7 +401,7 @@ declare interface IfStatement$1$1 extends Span$1$1 {
401
401
  }
402
402
  declare interface Ignorer$1 {
403
403
  readonly name: string;
404
- shouldIgnore(node: Node_2$1, ancestors: readonly Node_2$1[]): string | undefined;
404
+ shouldIgnore(node: Node_2, ancestors: readonly Node_2[]): string | undefined;
405
405
  }
406
406
  declare interface ImportAttribute$1$1 extends Span$1$1 {
407
407
  type: "ImportAttribute";
@@ -586,7 +586,7 @@ declare interface MetaProperty$1$1 extends Span$1$1 {
586
586
  declare interface MethodDefinition$1$1 extends Span$1$1 {
587
587
  type: MethodDefinitionType$1;
588
588
  decorators: Array<Decorator$1$1>;
589
- key: PropertyKey_2$1;
589
+ key: PropertyKey_2;
590
590
  value: Function$1$1;
591
591
  kind: MethodDefinitionKind$1;
592
592
  computed: boolean;
@@ -609,7 +609,7 @@ declare interface NewExpression$1$1 extends Span$1$1 {
609
609
  parent?: Node$1$1;
610
610
  }
611
611
  declare type Node$1$1 = Program$1$1 | IdentifierName$1$1 | IdentifierReference$1$1 | BindingIdentifier$1$1 | LabelIdentifier$1$1 | ThisExpression$1$1 | ArrayExpression$1$1 | ObjectExpression$1$1 | ObjectProperty$1$1 | TemplateLiteral$1$1 | TaggedTemplateExpression$1$1 | TemplateElement$1$1 | ComputedMemberExpression$1 | StaticMemberExpression$1$1 | PrivateFieldExpression$1 | CallExpression$1$1 | NewExpression$1$1 | MetaProperty$1$1 | SpreadElement$1$1 | UpdateExpression$1$1 | UnaryExpression$1$1 | BinaryExpression$1$1 | PrivateInExpression$1$1 | LogicalExpression$1$1 | ConditionalExpression$1$1 | AssignmentExpression$1$1 | ArrayAssignmentTarget$1 | ObjectAssignmentTarget$1 | AssignmentTargetRest$1 | AssignmentTargetWithDefault$1 | AssignmentTargetPropertyIdentifier$1 | AssignmentTargetPropertyProperty$1 | SequenceExpression$1$1 | Super$1$1 | AwaitExpression$1 | ChainExpression$1$1 | ParenthesizedExpression$1 | Directive$1 | Hashbang$1 | BlockStatement$1$1 | VariableDeclaration$1$1 | VariableDeclarator$1$1 | EmptyStatement$1$1 | ExpressionStatement$1$1 | IfStatement$1$1 | DoWhileStatement$1$1 | WhileStatement$1$1 | ForStatement$1$1 | ForInStatement$1$1 | ForOfStatement$1$1 | ContinueStatement$1$1 | BreakStatement$1$1 | ReturnStatement$1$1 | WithStatement$1$1 | SwitchStatement$1$1 | SwitchCase$1$1 | LabeledStatement$1$1 | ThrowStatement$1$1 | TryStatement$1$1 | CatchClause$1$1 | DebuggerStatement$1 | AssignmentPattern$1$1 | ObjectPattern$1 | BindingProperty$1$1 | ArrayPattern$1$1 | BindingRestElement$1$1 | Function$1$1 | FunctionBody$1 | ArrowFunctionExpression$1$1 | YieldExpression$1$1 | Class$1$1 | ClassBody$1$1 | MethodDefinition$1$1 | PropertyDefinition$1$1 | PrivateIdentifier$1$1 | StaticBlock$1$1 | AccessorProperty$1$1 | ImportExpression$1$1 | ImportDeclaration$1$1 | ImportSpecifier$1 | ImportDefaultSpecifier$1 | ImportNamespaceSpecifier$1 | ImportAttribute$1$1 | ExportNamedDeclaration$1$1 | ExportDefaultDeclaration$1$1 | ExportAllDeclaration$1$1 | ExportSpecifier$1 | V8IntrinsicExpression$1 | BooleanLiteral$1$1 | NullLiteral$1$1 | NumericLiteral$1$1 | StringLiteral$1$1 | BigIntLiteral$1$1 | RegExpLiteral$1$1 | JSXElement$1$1 | JSXOpeningElement$1$1 | JSXClosingElement$1 | JSXFragment$1$1 | JSXOpeningFragment$1 | JSXClosingFragment$1 | JSXNamespacedName$1$1 | JSXMemberExpression$1$1 | JSXExpressionContainer$1$1 | JSXEmptyExpression$1 | JSXAttribute$1$1 | JSXSpreadAttribute$1$1 | JSXIdentifier$1$1 | JSXSpreadChild$1$1 | JSXText$1$1 | TSThisParameter$1 | TSEnumDeclaration$1$1 | TSEnumBody$1 | TSEnumMember$1 | TSTypeAnnotation$1$1 | TSLiteralType$1$1 | TSConditionalType$1$1 | TSUnionType$1$1 | TSIntersectionType$1$1 | TSParenthesizedType$1$1 | TSTypeOperator$1$1 | TSArrayType$1$1 | TSIndexedAccessType$1$1 | TSTupleType$1$1 | TSNamedTupleMember$1$1 | TSOptionalType$1$1 | TSRestType$1$1 | TSAnyKeyword$1 | TSStringKeyword$1 | TSBooleanKeyword$1 | TSNumberKeyword$1 | TSNeverKeyword$1 | TSIntrinsicKeyword$1 | TSUnknownKeyword$1 | TSNullKeyword$1 | TSUndefinedKeyword$1 | TSVoidKeyword$1 | TSSymbolKeyword$1 | TSThisType$1 | TSObjectKeyword$1 | TSBigIntKeyword$1 | TSTypeReference$1$1 | TSQualifiedName$1$1 | TSTypeParameterInstantiation$1$1 | TSTypeParameter$1 | TSTypeParameterDeclaration$1$1 | TSTypeAliasDeclaration$1$1 | TSClassImplements$1 | TSInterfaceDeclaration$1$1 | TSInterfaceBody$1$1 | TSPropertySignature$1$1 | TSIndexSignature$1$1 | TSCallSignatureDeclaration$1$1 | TSMethodSignature$1$1 | TSConstructSignatureDeclaration$1$1 | TSIndexSignatureName$1 | TSInterfaceHeritage$1 | TSTypePredicate$1$1 | TSModuleDeclaration$1$1 | TSGlobalDeclaration$1 | TSModuleBlock$1$1 | TSTypeLiteral$1 | TSInferType$1$1 | TSTypeQuery$1$1 | TSImportType$1$1 | TSImportTypeQualifiedName$1 | TSFunctionType$1$1 | TSConstructorType$1$1 | TSMappedType$1$1 | TSTemplateLiteralType$1$1 | TSAsExpression$1$1 | TSSatisfiesExpression$1$1 | TSTypeAssertion$1$1 | TSImportEqualsDeclaration$1$1 | TSExternalModuleReference$1 | TSNonNullExpression$1$1 | Decorator$1$1 | TSExportAssignment$1$1 | TSNamespaceExportDeclaration$1$1 | TSInstantiationExpression$1$1 | JSDocNullableType$1$1 | JSDocNonNullableType$1$1 | JSDocUnknownType$1 | ParamPattern$1$1;
612
- declare type Node_2$1 = Simplify$1<Built$1<Node$1$1>> | Node$1$1;
612
+ declare type Node_2 = Simplify$1<Built$1<Node$1$1>> | Node$1$1;
613
613
  declare interface NullLiteral$1$1 extends Span$1$1 {
614
614
  type: "Literal";
615
615
  value: null;
@@ -646,7 +646,7 @@ declare interface ObjectPattern$1 extends Span$1$1 {
646
646
  declare interface ObjectProperty$1$1 extends Span$1$1 {
647
647
  type: "Property";
648
648
  kind: PropertyKind$1;
649
- key: PropertyKey_2$1;
649
+ key: PropertyKey_2;
650
650
  value: Expression$1$1;
651
651
  method: boolean;
652
652
  shorthand: boolean;
@@ -692,7 +692,7 @@ declare type Program$2 = Simplify$1<Built$1<Program$1$1>>;
692
692
  declare interface PropertyDefinition$1$1 extends Span$1$1 {
693
693
  type: PropertyDefinitionType$1;
694
694
  decorators: Array<Decorator$1$1>;
695
- key: PropertyKey_2$1;
695
+ key: PropertyKey_2;
696
696
  typeAnnotation?: TSTypeAnnotation$1$1 | null;
697
697
  value: Expression$1$1 | null;
698
698
  computed: boolean;
@@ -706,7 +706,7 @@ declare interface PropertyDefinition$1$1 extends Span$1$1 {
706
706
  parent?: Node$1$1;
707
707
  }
708
708
  declare type PropertyDefinitionType$1 = "PropertyDefinition" | "TSAbstractPropertyDefinition";
709
- declare type PropertyKey_2$1 = IdentifierName$1$1 | PrivateIdentifier$1$1 | Expression$1$1;
709
+ declare type PropertyKey_2 = IdentifierName$1$1 | PrivateIdentifier$1$1 | Expression$1$1;
710
710
  declare type PropertyKind$1 = "init" | "get" | "set";
711
711
  declare interface RegExpLiteral$1$1 extends Span$1$1 {
712
712
  type: "Literal";
@@ -1027,7 +1027,7 @@ declare interface TSMappedType$1$1 extends Span$1$1 {
1027
1027
  declare type TSMappedTypeModifierOperator$1 = true | "+" | "-";
1028
1028
  declare interface TSMethodSignature$1$1 extends Span$1$1 {
1029
1029
  type: "TSMethodSignature";
1030
- key: PropertyKey_2$1;
1030
+ key: PropertyKey_2;
1031
1031
  computed: boolean;
1032
1032
  optional: boolean;
1033
1033
  kind: TSMethodSignatureKind$1;
@@ -1114,7 +1114,7 @@ declare interface TSPropertySignature$1$1 extends Span$1$1 {
1114
1114
  computed: boolean;
1115
1115
  optional: boolean;
1116
1116
  readonly: boolean;
1117
- key: PropertyKey_2$1;
1117
+ key: PropertyKey_2;
1118
1118
  typeAnnotation: TSTypeAnnotation$1$1 | null;
1119
1119
  accessibility: null;
1120
1120
  static: false;
@@ -1364,186 +1364,126 @@ declare interface ScriptRegion {
1364
1364
  //#region ../stryker-js-instrumenter/dist/index.d.mts
1365
1365
  //#endregion
1366
1366
  //#region ../ignorers/interface/dist/index.d.ts
1367
- declare interface AccessorProperty$1 extends Span$1 {
1368
- type: AccessorPropertyType;
1369
- decorators: Array<Decorator$1>;
1370
- key: PropertyKey_2;
1371
- typeAnnotation?: TSTypeAnnotation$1 | null;
1372
- value: Expression$1 | null;
1373
- computed: boolean;
1374
- static: boolean;
1375
- override?: boolean;
1376
- definite?: boolean;
1377
- accessibility?: TSAccessibility | null;
1378
- declare?: false;
1379
- optional?: false;
1380
- readonly?: false;
1381
- parent?: Node$1;
1367
+ // Auto-generated code, DO NOT EDIT DIRECTLY!
1368
+ // To edit this generated file you have to edit `tasks/ast_tools/src/generators/typescript.rs`.
1369
+ interface Program$1 extends Span$1 {
1370
+ type: "Program";
1371
+ body: Array<Directive | Statement$1>;
1372
+ sourceType: ModuleKind;
1373
+ hashbang: Hashbang | null;
1374
+ parent?: null;
1382
1375
  }
1383
- declare type AccessorPropertyType = "AccessorProperty" | "TSAbstractAccessorProperty";
1384
- declare type Argument$1 = SpreadElement$1 | Expression$1;
1385
- declare interface ArrayAssignmentTarget extends Span$1 {
1386
- type: "ArrayPattern";
1376
+ type Expression$1 = BooleanLiteral$1 | NullLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | RegExpLiteral$1 | StringLiteral$1 | TemplateLiteral$1 | IdentifierReference$1 | Super$1 | ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AwaitExpression | BinaryExpression$1 | CallExpression$1 | ChainExpression$1 | Class$1 | ConditionalExpression$1 | Function$1 | ImportExpression$1 | LogicalExpression$1 | NewExpression$1 | ObjectExpression$1 | ParenthesizedExpression | SequenceExpression$1 | TaggedTemplateExpression$1 | ThisExpression$1 | UnaryExpression$1 | UpdateExpression$1 | YieldExpression$1 | PrivateInExpression$1 | MetaProperty$1 | JSXElement$1 | JSXFragment$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TSNonNullExpression$1 | TSInstantiationExpression$1 | V8IntrinsicExpression | MemberExpression$1;
1377
+ interface IdentifierName$1 extends Span$1 {
1378
+ type: "Identifier";
1387
1379
  decorators?: [];
1388
- elements: Array<AssignmentTargetMaybeDefault | AssignmentTargetRest | null>;
1380
+ name: string;
1389
1381
  optional?: false;
1390
1382
  typeAnnotation?: null;
1391
1383
  parent?: Node$1;
1392
1384
  }
1393
- declare interface ArrayExpression$1 extends Span$1 {
1394
- type: "ArrayExpression";
1395
- elements: Array<ArrayExpressionElement>;
1396
- parent?: Node$1;
1397
- }
1398
- declare type ArrayExpressionElement = SpreadElement$1 | null | Expression$1;
1399
- declare interface ArrayPattern$1 extends Span$1 {
1400
- type: "ArrayPattern";
1401
- decorators?: [];
1402
- elements: Array<BindingPattern$1 | BindingRestElement$1 | null>;
1403
- optional?: false;
1404
- typeAnnotation?: TSTypeAnnotation$1 | null;
1405
- parent?: Node$1;
1406
- }
1407
- declare interface ArrowFunctionExpression$1 extends Span$1 {
1408
- type: "ArrowFunctionExpression";
1409
- expression: boolean;
1410
- async: boolean;
1411
- typeParameters?: TSTypeParameterDeclaration$1 | null;
1412
- params: ParamPattern$1[];
1413
- returnType?: TSTypeAnnotation$1 | null;
1414
- body: FunctionBody | Expression$1;
1415
- id: null;
1416
- generator: false;
1417
- parent?: Node$1;
1418
- }
1419
- declare interface AssignmentExpression$1 extends Span$1 {
1420
- type: "AssignmentExpression";
1421
- operator: AssignmentOperator;
1422
- left: AssignmentTarget;
1423
- right: Expression$1;
1424
- parent?: Node$1;
1425
- }
1426
- declare type AssignmentOperator = "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "**=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "||=" | "&&=" | "??=";
1427
- declare interface AssignmentPattern$1 extends Span$1 {
1428
- type: "AssignmentPattern";
1385
+ interface IdentifierReference$1 extends Span$1 {
1386
+ type: "Identifier";
1429
1387
  decorators?: [];
1430
- left: BindingPattern$1;
1431
- right: Expression$1;
1388
+ name: string;
1432
1389
  optional?: false;
1433
1390
  typeAnnotation?: null;
1434
1391
  parent?: Node$1;
1435
1392
  }
1436
- declare type AssignmentTarget = SimpleAssignmentTarget$1 | AssignmentTargetPattern;
1437
- declare type AssignmentTargetMaybeDefault = AssignmentTargetWithDefault | AssignmentTarget;
1438
- declare type AssignmentTargetPattern = ArrayAssignmentTarget | ObjectAssignmentTarget;
1439
- declare type AssignmentTargetProperty = AssignmentTargetPropertyIdentifier | AssignmentTargetPropertyProperty;
1440
- declare interface AssignmentTargetPropertyIdentifier extends Span$1 {
1441
- type: "Property";
1442
- kind: "init";
1443
- key: IdentifierReference$1;
1444
- value: IdentifierReference$1 | AssignmentTargetWithDefault;
1445
- method: false;
1446
- shorthand: true;
1447
- computed: false;
1448
- optional?: false;
1449
- parent?: Node$1;
1450
- }
1451
- declare interface AssignmentTargetPropertyProperty extends Span$1 {
1452
- type: "Property";
1453
- kind: "init";
1454
- key: PropertyKey_2;
1455
- value: AssignmentTargetMaybeDefault;
1456
- method: false;
1457
- shorthand: false;
1458
- computed: boolean;
1459
- optional?: false;
1460
- parent?: Node$1;
1461
- }
1462
- declare interface AssignmentTargetRest extends Span$1 {
1463
- type: "RestElement";
1393
+ interface BindingIdentifier$1 extends Span$1 {
1394
+ type: "Identifier";
1464
1395
  decorators?: [];
1465
- argument: AssignmentTarget;
1396
+ name: string;
1466
1397
  optional?: false;
1467
- typeAnnotation?: null;
1468
- value?: null;
1398
+ typeAnnotation?: TSTypeAnnotation$1 | null;
1469
1399
  parent?: Node$1;
1470
1400
  }
1471
- declare interface AssignmentTargetWithDefault extends Span$1 {
1472
- type: "AssignmentPattern";
1401
+ interface LabelIdentifier$1 extends Span$1 {
1402
+ type: "Identifier";
1473
1403
  decorators?: [];
1474
- left: AssignmentTarget;
1475
- right: Expression$1;
1404
+ name: string;
1476
1405
  optional?: false;
1477
1406
  typeAnnotation?: null;
1478
1407
  parent?: Node$1;
1479
1408
  }
1480
- declare interface AwaitExpression extends Span$1 {
1481
- type: "AwaitExpression";
1482
- argument: Expression$1;
1483
- parent?: Node$1;
1484
- }
1485
- declare interface BigIntLiteral$1 extends Span$1 {
1486
- type: "Literal";
1487
- value: bigint;
1488
- raw: string | null;
1489
- bigint: string;
1409
+ interface ThisExpression$1 extends Span$1 {
1410
+ type: "ThisExpression";
1490
1411
  parent?: Node$1;
1491
1412
  }
1492
- declare interface BinaryExpression$1 extends Span$1 {
1493
- type: "BinaryExpression";
1494
- left: Expression$1;
1495
- operator: BinaryOperator;
1496
- right: Expression$1;
1413
+ interface ArrayExpression$1 extends Span$1 {
1414
+ type: "ArrayExpression";
1415
+ elements: Array<ArrayExpressionElement>;
1497
1416
  parent?: Node$1;
1498
1417
  }
1499
- declare type BinaryOperator = "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "+" | "-" | "*" | "/" | "%" | "**" | "<<" | ">>" | ">>>" | "|" | "^" | "&" | "in" | "instanceof";
1500
- declare interface BindingIdentifier$1 extends Span$1 {
1501
- type: "Identifier";
1502
- decorators?: [];
1503
- name: string;
1504
- optional?: false;
1505
- typeAnnotation?: TSTypeAnnotation$1 | null;
1418
+ type ArrayExpressionElement = SpreadElement$1 | null | Expression$1;
1419
+ interface ObjectExpression$1 extends Span$1 {
1420
+ type: "ObjectExpression";
1421
+ properties: Array<ObjectPropertyKind>;
1506
1422
  parent?: Node$1;
1507
1423
  }
1508
- declare type BindingPattern$1 = BindingIdentifier$1 | ObjectPattern | ArrayPattern$1 | AssignmentPattern$1;
1509
- declare interface BindingProperty$1 extends Span$1 {
1424
+ type ObjectPropertyKind = ObjectProperty$1 | SpreadElement$1;
1425
+ interface ObjectProperty$1 extends Span$1 {
1510
1426
  type: "Property";
1511
- kind: "init";
1512
- key: PropertyKey_2;
1513
- value: BindingPattern$1;
1514
- method: false;
1427
+ kind: PropertyKind;
1428
+ key: PropertyKey$1;
1429
+ value: Expression$1;
1430
+ method: boolean;
1515
1431
  shorthand: boolean;
1516
1432
  computed: boolean;
1517
1433
  optional?: false;
1518
1434
  parent?: Node$1;
1519
1435
  }
1520
- declare interface BindingRestElement$1 extends Span$1 {
1521
- type: "RestElement";
1522
- decorators?: [];
1523
- argument: BindingPattern$1;
1524
- optional?: false;
1525
- typeAnnotation?: TSTypeAnnotation$1 | null;
1526
- value?: null;
1436
+ type PropertyKey$1 = IdentifierName$1 | PrivateIdentifier$1 | Expression$1;
1437
+ type PropertyKind = "init" | "get" | "set";
1438
+ interface TemplateLiteral$1 extends Span$1 {
1439
+ type: "TemplateLiteral";
1440
+ quasis: Array<TemplateElement$1>;
1441
+ expressions: Array<Expression$1>;
1527
1442
  parent?: Node$1;
1528
1443
  }
1529
- declare interface BlockStatement$1 extends Span$1 {
1530
- type: "BlockStatement";
1531
- body: Array<Statement$1>;
1444
+ interface TaggedTemplateExpression$1 extends Span$1 {
1445
+ type: "TaggedTemplateExpression";
1446
+ tag: Expression$1;
1447
+ typeArguments?: TSTypeParameterInstantiation$1 | null;
1448
+ quasi: TemplateLiteral$1;
1532
1449
  parent?: Node$1;
1533
1450
  }
1534
- declare interface BooleanLiteral$1 extends Span$1 {
1535
- type: "Literal";
1536
- value: boolean;
1537
- raw: string | null;
1451
+ interface TemplateElement$1 extends Span$1 {
1452
+ type: "TemplateElement";
1453
+ value: TemplateElementValue;
1454
+ tail: boolean;
1538
1455
  parent?: Node$1;
1539
1456
  }
1540
- declare interface BreakStatement$1 extends Span$1 {
1541
- type: "BreakStatement";
1542
- label: LabelIdentifier$1 | null;
1457
+ interface TemplateElementValue {
1458
+ raw: string;
1459
+ cooked: string | null;
1460
+ }
1461
+ type MemberExpression$1 = ComputedMemberExpression | StaticMemberExpression$1 | PrivateFieldExpression;
1462
+ interface ComputedMemberExpression extends Span$1 {
1463
+ type: "MemberExpression";
1464
+ object: Expression$1;
1465
+ property: Expression$1;
1466
+ optional: boolean;
1467
+ computed: true;
1468
+ parent?: Node$1;
1469
+ }
1470
+ interface StaticMemberExpression$1 extends Span$1 {
1471
+ type: "MemberExpression";
1472
+ object: Expression$1;
1473
+ property: IdentifierName$1;
1474
+ optional: boolean;
1475
+ computed: false;
1476
+ parent?: Node$1;
1477
+ }
1478
+ interface PrivateFieldExpression extends Span$1 {
1479
+ type: "MemberExpression";
1480
+ object: Expression$1;
1481
+ property: PrivateIdentifier$1;
1482
+ optional: boolean;
1483
+ computed: false;
1543
1484
  parent?: Node$1;
1544
1485
  }
1545
- declare type Built<T> = T extends null | undefined ? T : T extends readonly unknown[] ? (number extends T['length'] ? Array<Built<T[number]>> : T) : T extends Span$1 ? { [K in keyof T as K extends keyof Span$1 ? never : K]: Child<T[K]>; } & Partial<Pick<T, keyof Span$1>> : T;
1546
- declare interface CallExpression$1 extends Span$1 {
1486
+ interface CallExpression$1 extends Span$1 {
1547
1487
  type: "CallExpression";
1548
1488
  callee: Expression$1;
1549
1489
  typeArguments?: TSTypeParameterInstantiation$1 | null;
@@ -1551,395 +1491,438 @@ declare interface CallExpression$1 extends Span$1 {
1551
1491
  optional: boolean;
1552
1492
  parent?: Node$1;
1553
1493
  }
1554
- declare interface CatchClause$1 extends Span$1 {
1555
- type: "CatchClause";
1556
- param: BindingPattern$1 | null;
1557
- body: BlockStatement$1;
1494
+ interface NewExpression$1 extends Span$1 {
1495
+ type: "NewExpression";
1496
+ callee: Expression$1;
1497
+ typeArguments?: TSTypeParameterInstantiation$1 | null;
1498
+ arguments: Array<Argument$1>;
1558
1499
  parent?: Node$1;
1559
1500
  }
1560
- declare type ChainElement = CallExpression$1 | TSNonNullExpression$1 | MemberExpression$1;
1561
- declare interface ChainExpression$1 extends Span$1 {
1562
- type: "ChainExpression";
1563
- expression: ChainElement;
1501
+ interface MetaProperty$1 extends Span$1 {
1502
+ type: "MetaProperty";
1503
+ meta: IdentifierName$1;
1504
+ property: IdentifierName$1;
1564
1505
  parent?: Node$1;
1565
1506
  }
1566
- declare type Child<T> = T extends null | undefined ? T : T extends readonly unknown[] ? (number extends T['length'] ? Array<Child<T[number]>> : T) : T extends Span$1 ? Built<T> | T : T;
1567
- declare interface Class$1 extends Span$1 {
1568
- type: ClassType;
1569
- decorators: Array<Decorator$1>;
1570
- id: BindingIdentifier$1 | null;
1571
- typeParameters?: TSTypeParameterDeclaration$1 | null;
1572
- superClass: Expression$1 | null;
1573
- superTypeArguments?: TSTypeParameterInstantiation$1 | null;
1574
- implements?: Array<TSClassImplements>;
1575
- body: ClassBody$1;
1576
- abstract?: boolean;
1577
- declare?: boolean;
1507
+ interface SpreadElement$1 extends Span$1 {
1508
+ type: "SpreadElement";
1509
+ argument: Expression$1;
1578
1510
  parent?: Node$1;
1579
1511
  }
1580
- declare interface ClassBody$1 extends Span$1 {
1581
- type: "ClassBody";
1582
- body: Array<ClassElement>;
1512
+ type Argument$1 = SpreadElement$1 | Expression$1;
1513
+ interface UpdateExpression$1 extends Span$1 {
1514
+ type: "UpdateExpression";
1515
+ operator: UpdateOperator;
1516
+ prefix: boolean;
1517
+ argument: SimpleAssignmentTarget$1;
1583
1518
  parent?: Node$1;
1584
1519
  }
1585
- declare type ClassElement = StaticBlock$1 | MethodDefinition$1 | PropertyDefinition$1 | AccessorProperty$1 | TSIndexSignature$1;
1586
- declare type ClassType = "ClassDeclaration" | "ClassExpression";
1587
- declare interface ComputedMemberExpression extends Span$1 {
1588
- type: "MemberExpression";
1589
- object: Expression$1;
1590
- property: Expression$1;
1591
- optional: boolean;
1592
- computed: true;
1520
+ interface UnaryExpression$1 extends Span$1 {
1521
+ type: "UnaryExpression";
1522
+ operator: UnaryOperator;
1523
+ argument: Expression$1;
1524
+ prefix: true;
1593
1525
  parent?: Node$1;
1594
1526
  }
1595
- declare interface ConditionalExpression$1 extends Span$1 {
1596
- type: "ConditionalExpression";
1597
- test: Expression$1;
1598
- consequent: Expression$1;
1599
- alternate: Expression$1;
1527
+ interface BinaryExpression$1 extends Span$1 {
1528
+ type: "BinaryExpression";
1529
+ left: Expression$1;
1530
+ operator: BinaryOperator;
1531
+ right: Expression$1;
1600
1532
  parent?: Node$1;
1601
1533
  }
1602
- declare interface ContinueStatement$1 extends Span$1 {
1603
- type: "ContinueStatement";
1604
- label: LabelIdentifier$1 | null;
1534
+ interface PrivateInExpression$1 extends Span$1 {
1535
+ type: "BinaryExpression";
1536
+ left: PrivateIdentifier$1;
1537
+ operator: "in";
1538
+ right: Expression$1;
1605
1539
  parent?: Node$1;
1606
1540
  }
1607
- declare interface DebuggerStatement extends Span$1 {
1608
- type: "DebuggerStatement";
1541
+ interface LogicalExpression$1 extends Span$1 {
1542
+ type: "LogicalExpression";
1543
+ left: Expression$1;
1544
+ operator: LogicalOperator;
1545
+ right: Expression$1;
1609
1546
  parent?: Node$1;
1610
1547
  }
1611
- declare type Declaration = VariableDeclaration$1 | Function$1 | Class$1 | TSTypeAliasDeclaration$1 | TSInterfaceDeclaration$1 | TSEnumDeclaration$1 | TSModuleDeclaration$1 | TSGlobalDeclaration | TSImportEqualsDeclaration$1;
1612
- declare interface Decorator$1 extends Span$1 {
1613
- type: "Decorator";
1614
- expression: Expression$1;
1548
+ interface ConditionalExpression$1 extends Span$1 {
1549
+ type: "ConditionalExpression";
1550
+ test: Expression$1;
1551
+ consequent: Expression$1;
1552
+ alternate: Expression$1;
1615
1553
  parent?: Node$1;
1616
1554
  }
1617
- declare interface Directive extends Span$1 {
1618
- type: "ExpressionStatement";
1619
- expression: StringLiteral$1;
1620
- directive: string;
1555
+ interface AssignmentExpression$1 extends Span$1 {
1556
+ type: "AssignmentExpression";
1557
+ operator: AssignmentOperator;
1558
+ left: AssignmentTarget;
1559
+ right: Expression$1;
1621
1560
  parent?: Node$1;
1622
1561
  }
1623
- declare interface DoWhileStatement$1 extends Span$1 {
1624
- type: "DoWhileStatement";
1625
- body: Statement$1;
1626
- test: Expression$1;
1562
+ type AssignmentTarget = SimpleAssignmentTarget$1 | AssignmentTargetPattern;
1563
+ type SimpleAssignmentTarget$1 = IdentifierReference$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSNonNullExpression$1 | TSTypeAssertion$1 | MemberExpression$1;
1564
+ type AssignmentTargetPattern = ArrayAssignmentTarget | ObjectAssignmentTarget;
1565
+ interface ArrayAssignmentTarget extends Span$1 {
1566
+ type: "ArrayPattern";
1567
+ decorators?: [];
1568
+ elements: Array<AssignmentTargetMaybeDefault | AssignmentTargetRest | null>;
1569
+ optional?: false;
1570
+ typeAnnotation?: null;
1627
1571
  parent?: Node$1;
1628
1572
  }
1629
- declare interface EmptyStatement$1 extends Span$1 {
1630
- type: "EmptyStatement";
1573
+ interface ObjectAssignmentTarget extends Span$1 {
1574
+ type: "ObjectPattern";
1575
+ decorators?: [];
1576
+ properties: Array<AssignmentTargetProperty | AssignmentTargetRest>;
1577
+ optional?: false;
1578
+ typeAnnotation?: null;
1631
1579
  parent?: Node$1;
1632
1580
  }
1633
- declare interface ExportAllDeclaration$1 extends Span$1 {
1634
- type: "ExportAllDeclaration";
1635
- exported: ModuleExportName | null;
1636
- source: StringLiteral$1;
1637
- attributes: Array<ImportAttribute$1>;
1638
- exportKind?: ImportOrExportKind;
1581
+ interface AssignmentTargetRest extends Span$1 {
1582
+ type: "RestElement";
1583
+ decorators?: [];
1584
+ argument: AssignmentTarget;
1585
+ optional?: false;
1586
+ typeAnnotation?: null;
1587
+ value?: null;
1639
1588
  parent?: Node$1;
1640
1589
  }
1641
- declare interface ExportDefaultDeclaration$1 extends Span$1 {
1642
- type: "ExportDefaultDeclaration";
1643
- declaration: ExportDefaultDeclarationKind;
1644
- exportKind?: "value";
1590
+ type AssignmentTargetMaybeDefault = AssignmentTargetWithDefault | AssignmentTarget;
1591
+ interface AssignmentTargetWithDefault extends Span$1 {
1592
+ type: "AssignmentPattern";
1593
+ decorators?: [];
1594
+ left: AssignmentTarget;
1595
+ right: Expression$1;
1596
+ optional?: false;
1597
+ typeAnnotation?: null;
1645
1598
  parent?: Node$1;
1646
1599
  }
1647
- declare type ExportDefaultDeclarationKind = Function$1 | Class$1 | TSInterfaceDeclaration$1 | Expression$1;
1648
- declare interface ExportNamedDeclaration$1 extends Span$1 {
1649
- type: "ExportNamedDeclaration";
1650
- declaration: Declaration | null;
1651
- specifiers: Array<ExportSpecifier>;
1652
- source: StringLiteral$1 | null;
1653
- exportKind?: ImportOrExportKind;
1654
- attributes: Array<ImportAttribute$1>;
1600
+ type AssignmentTargetProperty = AssignmentTargetPropertyIdentifier | AssignmentTargetPropertyProperty;
1601
+ interface AssignmentTargetPropertyIdentifier extends Span$1 {
1602
+ type: "Property";
1603
+ kind: "init";
1604
+ key: IdentifierReference$1;
1605
+ value: IdentifierReference$1 | AssignmentTargetWithDefault;
1606
+ method: false;
1607
+ shorthand: true;
1608
+ computed: false;
1609
+ optional?: false;
1655
1610
  parent?: Node$1;
1656
1611
  }
1657
- declare interface ExportSpecifier extends Span$1 {
1658
- type: "ExportSpecifier";
1659
- local: ModuleExportName;
1660
- exported: ModuleExportName;
1661
- exportKind?: ImportOrExportKind;
1612
+ interface AssignmentTargetPropertyProperty extends Span$1 {
1613
+ type: "Property";
1614
+ kind: "init";
1615
+ key: PropertyKey$1;
1616
+ value: AssignmentTargetMaybeDefault;
1617
+ method: false;
1618
+ shorthand: false;
1619
+ computed: boolean;
1620
+ optional?: false;
1662
1621
  parent?: Node$1;
1663
1622
  }
1664
- declare type Expression$1 = BooleanLiteral$1 | NullLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | RegExpLiteral$1 | StringLiteral$1 | TemplateLiteral$1 | IdentifierReference$1 | Super$1 | ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AwaitExpression | BinaryExpression$1 | CallExpression$1 | ChainExpression$1 | Class$1 | ConditionalExpression$1 | Function$1 | ImportExpression$1 | LogicalExpression$1 | NewExpression$1 | ObjectExpression$1 | ParenthesizedExpression | SequenceExpression$1 | TaggedTemplateExpression$1 | ThisExpression$1 | UnaryExpression$1 | UpdateExpression$1 | YieldExpression$1 | PrivateInExpression$1 | MetaProperty$1 | JSXElement$1 | JSXFragment$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TSNonNullExpression$1 | TSInstantiationExpression$1 | V8IntrinsicExpression | MemberExpression$1;
1665
- declare interface ExpressionStatement$1 extends Span$1 {
1666
- type: "ExpressionStatement";
1667
- expression: Expression$1;
1668
- directive?: string | null;
1623
+ interface SequenceExpression$1 extends Span$1 {
1624
+ type: "SequenceExpression";
1625
+ expressions: Array<Expression$1>;
1669
1626
  parent?: Node$1;
1670
1627
  }
1671
- declare interface ForInStatement$1 extends Span$1 {
1672
- type: "ForInStatement";
1673
- left: ForStatementLeft;
1674
- right: Expression$1;
1675
- body: Statement$1;
1628
+ interface Super$1 extends Span$1 {
1629
+ type: "Super";
1676
1630
  parent?: Node$1;
1677
1631
  }
1678
- declare type FormalParameter = {
1679
- decorators?: Array<Decorator$1>;
1680
- } & BindingPattern$1;
1681
- declare interface FormalParameterRest extends Span$1 {
1682
- type: "RestElement";
1683
- argument: BindingPattern$1;
1684
- decorators?: Array<Decorator$1>;
1685
- optional?: boolean;
1686
- typeAnnotation?: TSTypeAnnotation$1 | null;
1687
- value?: null;
1632
+ interface AwaitExpression extends Span$1 {
1633
+ type: "AwaitExpression";
1634
+ argument: Expression$1;
1688
1635
  parent?: Node$1;
1689
1636
  }
1690
- declare interface ForOfStatement$1 extends Span$1 {
1691
- type: "ForOfStatement";
1692
- await: boolean;
1693
- left: ForStatementLeft;
1694
- right: Expression$1;
1695
- body: Statement$1;
1637
+ interface ChainExpression$1 extends Span$1 {
1638
+ type: "ChainExpression";
1639
+ expression: ChainElement;
1696
1640
  parent?: Node$1;
1697
1641
  }
1698
- declare interface ForStatement$1 extends Span$1 {
1699
- type: "ForStatement";
1700
- init: ForStatementInit | null;
1701
- test: Expression$1 | null;
1702
- update: Expression$1 | null;
1703
- body: Statement$1;
1642
+ type ChainElement = CallExpression$1 | TSNonNullExpression$1 | MemberExpression$1;
1643
+ interface ParenthesizedExpression extends Span$1 {
1644
+ type: "ParenthesizedExpression";
1645
+ expression: Expression$1;
1704
1646
  parent?: Node$1;
1705
1647
  }
1706
- declare type ForStatementInit = VariableDeclaration$1 | Expression$1;
1707
- declare type ForStatementLeft = VariableDeclaration$1 | AssignmentTarget;
1708
- declare interface Function$1 extends Span$1 {
1709
- type: FunctionType;
1710
- id: BindingIdentifier$1 | null;
1711
- generator: boolean;
1712
- async: boolean;
1713
- declare?: boolean;
1714
- typeParameters?: TSTypeParameterDeclaration$1 | null;
1715
- params: ParamPattern$1[];
1716
- returnType?: TSTypeAnnotation$1 | null;
1717
- body: FunctionBody | null;
1718
- expression: false;
1648
+ type Statement$1 = BlockStatement$1 | BreakStatement$1 | ContinueStatement$1 | DebuggerStatement | DoWhileStatement$1 | EmptyStatement$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | ReturnStatement$1 | SwitchStatement$1 | ThrowStatement$1 | TryStatement$1 | WhileStatement$1 | WithStatement$1 | Declaration | ModuleDeclaration;
1649
+ interface Directive extends Span$1 {
1650
+ type: "ExpressionStatement";
1651
+ expression: StringLiteral$1;
1652
+ directive: string;
1653
+ parent?: Node$1;
1654
+ }
1655
+ interface Hashbang extends Span$1 {
1656
+ type: "Hashbang";
1657
+ value: string;
1719
1658
  parent?: Node$1;
1720
1659
  }
1721
- declare interface FunctionBody extends Span$1 {
1660
+ interface BlockStatement$1 extends Span$1 {
1722
1661
  type: "BlockStatement";
1723
- body: Array<Directive | Statement$1>;
1662
+ body: Array<Statement$1>;
1724
1663
  parent?: Node$1;
1725
1664
  }
1726
- declare type FunctionType = "FunctionDeclaration" | "FunctionExpression" | "TSDeclareFunction" | "TSEmptyBodyFunctionExpression";
1727
- declare interface Hashbang extends Span$1 {
1728
- type: "Hashbang";
1729
- value: string;
1665
+ type Declaration = VariableDeclaration$1 | Function$1 | Class$1 | TSTypeAliasDeclaration$1 | TSInterfaceDeclaration$1 | TSEnumDeclaration$1 | TSModuleDeclaration$1 | TSGlobalDeclaration | TSImportEqualsDeclaration$1;
1666
+ interface VariableDeclaration$1 extends Span$1 {
1667
+ type: "VariableDeclaration";
1668
+ kind: VariableDeclarationKind;
1669
+ declarations: Array<VariableDeclarator$1>;
1670
+ declare?: boolean;
1730
1671
  parent?: Node$1;
1731
1672
  }
1732
- declare interface IdentifierName$1 extends Span$1 {
1733
- type: "Identifier";
1734
- decorators?: [];
1735
- name: string;
1736
- optional?: false;
1737
- typeAnnotation?: null;
1673
+ type VariableDeclarationKind = "var" | "let" | "const" | "using" | "await using";
1674
+ interface VariableDeclarator$1 extends Span$1 {
1675
+ type: "VariableDeclarator";
1676
+ id: BindingPattern$1;
1677
+ init: Expression$1 | null;
1678
+ definite?: boolean;
1738
1679
  parent?: Node$1;
1739
1680
  }
1740
- declare interface IdentifierReference$1 extends Span$1 {
1741
- type: "Identifier";
1742
- decorators?: [];
1743
- name: string;
1744
- optional?: false;
1745
- typeAnnotation?: null;
1681
+ interface EmptyStatement$1 extends Span$1 {
1682
+ type: "EmptyStatement";
1683
+ parent?: Node$1;
1684
+ }
1685
+ interface ExpressionStatement$1 extends Span$1 {
1686
+ type: "ExpressionStatement";
1687
+ expression: Expression$1;
1688
+ directive?: string | null;
1746
1689
  parent?: Node$1;
1747
1690
  }
1748
- declare interface IfStatement$1 extends Span$1 {
1691
+ interface IfStatement$1 extends Span$1 {
1749
1692
  type: "IfStatement";
1750
1693
  test: Expression$1;
1751
1694
  consequent: Statement$1;
1752
1695
  alternate: Statement$1 | null;
1753
1696
  parent?: Node$1;
1754
1697
  }
1755
- declare interface Ignorer {
1756
- readonly name: string;
1757
- shouldIgnore(node: Node_2, ancestors: readonly Node_2[]): string | undefined;
1758
- }
1759
- declare interface ImportAttribute$1 extends Span$1 {
1760
- type: "ImportAttribute";
1761
- key: ImportAttributeKey;
1762
- value: StringLiteral$1;
1698
+ interface DoWhileStatement$1 extends Span$1 {
1699
+ type: "DoWhileStatement";
1700
+ body: Statement$1;
1701
+ test: Expression$1;
1763
1702
  parent?: Node$1;
1764
1703
  }
1765
- declare type ImportAttributeKey = IdentifierName$1 | StringLiteral$1;
1766
- declare interface ImportDeclaration$1 extends Span$1 {
1767
- type: "ImportDeclaration";
1768
- specifiers: Array<ImportDeclarationSpecifier>;
1769
- source: StringLiteral$1;
1770
- phase: ImportPhase | null;
1771
- attributes: Array<ImportAttribute$1>;
1772
- importKind?: ImportOrExportKind;
1704
+ interface WhileStatement$1 extends Span$1 {
1705
+ type: "WhileStatement";
1706
+ test: Expression$1;
1707
+ body: Statement$1;
1773
1708
  parent?: Node$1;
1774
1709
  }
1775
- declare type ImportDeclarationSpecifier = ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier;
1776
- declare interface ImportDefaultSpecifier extends Span$1 {
1777
- type: "ImportDefaultSpecifier";
1778
- local: BindingIdentifier$1;
1710
+ interface ForStatement$1 extends Span$1 {
1711
+ type: "ForStatement";
1712
+ init: ForStatementInit | null;
1713
+ test: Expression$1 | null;
1714
+ update: Expression$1 | null;
1715
+ body: Statement$1;
1779
1716
  parent?: Node$1;
1780
1717
  }
1781
- declare interface ImportExpression$1 extends Span$1 {
1782
- type: "ImportExpression";
1783
- source: Expression$1;
1784
- options: Expression$1 | null;
1785
- phase: ImportPhase | null;
1718
+ type ForStatementInit = VariableDeclaration$1 | Expression$1;
1719
+ interface ForInStatement$1 extends Span$1 {
1720
+ type: "ForInStatement";
1721
+ left: ForStatementLeft;
1722
+ right: Expression$1;
1723
+ body: Statement$1;
1786
1724
  parent?: Node$1;
1787
1725
  }
1788
- declare interface ImportNamespaceSpecifier extends Span$1 {
1789
- type: "ImportNamespaceSpecifier";
1790
- local: BindingIdentifier$1;
1726
+ type ForStatementLeft = VariableDeclaration$1 | AssignmentTarget;
1727
+ interface ForOfStatement$1 extends Span$1 {
1728
+ type: "ForOfStatement";
1729
+ await: boolean;
1730
+ left: ForStatementLeft;
1731
+ right: Expression$1;
1732
+ body: Statement$1;
1791
1733
  parent?: Node$1;
1792
1734
  }
1793
- declare type ImportOrExportKind = "value" | "type";
1794
- declare type ImportPhase = "source" | "defer";
1795
- declare interface ImportSpecifier extends Span$1 {
1796
- type: "ImportSpecifier";
1797
- imported: ModuleExportName;
1798
- local: BindingIdentifier$1;
1799
- importKind?: ImportOrExportKind;
1735
+ interface ContinueStatement$1 extends Span$1 {
1736
+ type: "ContinueStatement";
1737
+ label: LabelIdentifier$1 | null;
1800
1738
  parent?: Node$1;
1801
1739
  }
1802
- declare interface JSDocNonNullableType$1 extends Span$1 {
1803
- type: "TSJSDocNonNullableType";
1804
- typeAnnotation: TSType$1;
1805
- postfix: boolean;
1740
+ interface BreakStatement$1 extends Span$1 {
1741
+ type: "BreakStatement";
1742
+ label: LabelIdentifier$1 | null;
1806
1743
  parent?: Node$1;
1807
1744
  }
1808
- declare interface JSDocNullableType$1 extends Span$1 {
1809
- type: "TSJSDocNullableType";
1810
- typeAnnotation: TSType$1;
1811
- postfix: boolean;
1745
+ interface ReturnStatement$1 extends Span$1 {
1746
+ type: "ReturnStatement";
1747
+ argument: Expression$1 | null;
1812
1748
  parent?: Node$1;
1813
1749
  }
1814
- declare interface JSDocUnknownType extends Span$1 {
1815
- type: "TSJSDocUnknownType";
1750
+ interface WithStatement$1 extends Span$1 {
1751
+ type: "WithStatement";
1752
+ object: Expression$1;
1753
+ body: Statement$1;
1816
1754
  parent?: Node$1;
1817
1755
  }
1818
- declare interface JSXAttribute$1 extends Span$1 {
1819
- type: "JSXAttribute";
1820
- name: JSXAttributeName;
1821
- value: JSXAttributeValue | null;
1756
+ interface SwitchStatement$1 extends Span$1 {
1757
+ type: "SwitchStatement";
1758
+ discriminant: Expression$1;
1759
+ cases: Array<SwitchCase$1>;
1822
1760
  parent?: Node$1;
1823
1761
  }
1824
- declare type JSXAttributeItem = JSXAttribute$1 | JSXSpreadAttribute$1;
1825
- declare type JSXAttributeName = JSXIdentifier$1 | JSXNamespacedName$1;
1826
- declare type JSXAttributeValue = StringLiteral$1 | JSXExpressionContainer$1 | JSXElement$1 | JSXFragment$1;
1827
- declare type JSXChild = JSXText$1 | JSXElement$1 | JSXFragment$1 | JSXExpressionContainer$1 | JSXSpreadChild$1;
1828
- declare interface JSXClosingElement extends Span$1 {
1829
- type: "JSXClosingElement";
1830
- name: JSXElementName;
1762
+ interface SwitchCase$1 extends Span$1 {
1763
+ type: "SwitchCase";
1764
+ test: Expression$1 | null;
1765
+ consequent: Array<Statement$1>;
1831
1766
  parent?: Node$1;
1832
1767
  }
1833
- declare interface JSXClosingFragment extends Span$1 {
1834
- type: "JSXClosingFragment";
1768
+ interface LabeledStatement$1 extends Span$1 {
1769
+ type: "LabeledStatement";
1770
+ label: LabelIdentifier$1;
1771
+ body: Statement$1;
1835
1772
  parent?: Node$1;
1836
1773
  }
1837
- declare interface JSXElement$1 extends Span$1 {
1838
- type: "JSXElement";
1839
- openingElement: JSXOpeningElement$1;
1840
- children: Array<JSXChild>;
1841
- closingElement: JSXClosingElement | null;
1774
+ interface ThrowStatement$1 extends Span$1 {
1775
+ type: "ThrowStatement";
1776
+ argument: Expression$1;
1842
1777
  parent?: Node$1;
1843
1778
  }
1844
- declare type JSXElementName = JSXIdentifier$1 | JSXNamespacedName$1 | JSXMemberExpression$1;
1845
- declare interface JSXEmptyExpression extends Span$1 {
1846
- type: "JSXEmptyExpression";
1779
+ interface TryStatement$1 extends Span$1 {
1780
+ type: "TryStatement";
1781
+ block: BlockStatement$1;
1782
+ handler: CatchClause$1 | null;
1783
+ finalizer: BlockStatement$1 | null;
1847
1784
  parent?: Node$1;
1848
1785
  }
1849
- declare type JSXExpression = JSXEmptyExpression | Expression$1;
1850
- declare interface JSXExpressionContainer$1 extends Span$1 {
1851
- type: "JSXExpressionContainer";
1852
- expression: JSXExpression;
1786
+ interface CatchClause$1 extends Span$1 {
1787
+ type: "CatchClause";
1788
+ param: BindingPattern$1 | null;
1789
+ body: BlockStatement$1;
1853
1790
  parent?: Node$1;
1854
1791
  }
1855
- declare interface JSXFragment$1 extends Span$1 {
1856
- type: "JSXFragment";
1857
- openingFragment: JSXOpeningFragment;
1858
- children: Array<JSXChild>;
1859
- closingFragment: JSXClosingFragment;
1792
+ interface DebuggerStatement extends Span$1 {
1793
+ type: "DebuggerStatement";
1860
1794
  parent?: Node$1;
1861
1795
  }
1862
- declare interface JSXIdentifier$1 extends Span$1 {
1863
- type: "JSXIdentifier";
1864
- name: string;
1796
+ type BindingPattern$1 = BindingIdentifier$1 | ObjectPattern | ArrayPattern$1 | AssignmentPattern$1;
1797
+ interface AssignmentPattern$1 extends Span$1 {
1798
+ type: "AssignmentPattern";
1799
+ decorators?: [];
1800
+ left: BindingPattern$1;
1801
+ right: Expression$1;
1802
+ optional?: false;
1803
+ typeAnnotation?: null;
1865
1804
  parent?: Node$1;
1866
1805
  }
1867
- declare interface JSXMemberExpression$1 extends Span$1 {
1868
- type: "JSXMemberExpression";
1869
- object: JSXMemberExpressionObject;
1870
- property: JSXIdentifier$1;
1806
+ interface ObjectPattern extends Span$1 {
1807
+ type: "ObjectPattern";
1808
+ decorators?: [];
1809
+ properties: Array<BindingProperty$1 | BindingRestElement$1>;
1810
+ optional?: false;
1811
+ typeAnnotation?: TSTypeAnnotation$1 | null;
1871
1812
  parent?: Node$1;
1872
1813
  }
1873
- declare type JSXMemberExpressionObject = JSXIdentifier$1 | JSXMemberExpression$1;
1874
- declare interface JSXNamespacedName$1 extends Span$1 {
1875
- type: "JSXNamespacedName";
1876
- namespace: JSXIdentifier$1;
1877
- name: JSXIdentifier$1;
1814
+ interface BindingProperty$1 extends Span$1 {
1815
+ type: "Property";
1816
+ kind: "init";
1817
+ key: PropertyKey$1;
1818
+ value: BindingPattern$1;
1819
+ method: false;
1820
+ shorthand: boolean;
1821
+ computed: boolean;
1822
+ optional?: false;
1878
1823
  parent?: Node$1;
1879
1824
  }
1880
- declare interface JSXOpeningElement$1 extends Span$1 {
1881
- type: "JSXOpeningElement";
1882
- name: JSXElementName;
1883
- typeArguments?: TSTypeParameterInstantiation$1 | null;
1884
- attributes: Array<JSXAttributeItem>;
1885
- selfClosing: boolean;
1825
+ interface ArrayPattern$1 extends Span$1 {
1826
+ type: "ArrayPattern";
1827
+ decorators?: [];
1828
+ elements: Array<BindingPattern$1 | BindingRestElement$1 | null>;
1829
+ optional?: false;
1830
+ typeAnnotation?: TSTypeAnnotation$1 | null;
1886
1831
  parent?: Node$1;
1887
1832
  }
1888
- declare interface JSXOpeningFragment extends Span$1 {
1889
- type: "JSXOpeningFragment";
1890
- attributes?: [];
1891
- selfClosing?: false;
1833
+ interface BindingRestElement$1 extends Span$1 {
1834
+ type: "RestElement";
1835
+ decorators?: [];
1836
+ argument: BindingPattern$1;
1837
+ optional?: false;
1838
+ typeAnnotation?: TSTypeAnnotation$1 | null;
1839
+ value?: null;
1892
1840
  parent?: Node$1;
1893
1841
  }
1894
- declare interface JSXSpreadAttribute$1 extends Span$1 {
1895
- type: "JSXSpreadAttribute";
1896
- argument: Expression$1;
1842
+ interface Function$1 extends Span$1 {
1843
+ type: FunctionType;
1844
+ id: BindingIdentifier$1 | null;
1845
+ generator: boolean;
1846
+ async: boolean;
1847
+ declare?: boolean;
1848
+ typeParameters?: TSTypeParameterDeclaration$1 | null;
1849
+ params: ParamPattern$1[];
1850
+ returnType?: TSTypeAnnotation$1 | null;
1851
+ body: FunctionBody | null;
1852
+ expression: false;
1897
1853
  parent?: Node$1;
1898
1854
  }
1899
- declare interface JSXSpreadChild$1 extends Span$1 {
1900
- type: "JSXSpreadChild";
1901
- expression: Expression$1;
1855
+ type ParamPattern$1 = FormalParameter | TSParameterProperty | FormalParameterRest;
1856
+ type FunctionType = "FunctionDeclaration" | "FunctionExpression" | "TSDeclareFunction" | "TSEmptyBodyFunctionExpression";
1857
+ interface FormalParameterRest extends Span$1 {
1858
+ type: "RestElement";
1859
+ argument: BindingPattern$1;
1860
+ decorators?: Array<Decorator$1>;
1861
+ optional?: boolean;
1862
+ typeAnnotation?: TSTypeAnnotation$1 | null;
1863
+ value?: null;
1902
1864
  parent?: Node$1;
1903
1865
  }
1904
- declare interface JSXText$1 extends Span$1 {
1905
- type: "JSXText";
1906
- value: string;
1907
- raw: string | null;
1866
+ type FormalParameter = {
1867
+ decorators?: Array<Decorator$1>;
1868
+ } & BindingPattern$1;
1869
+ interface TSParameterProperty extends Span$1 {
1870
+ type: "TSParameterProperty";
1871
+ accessibility: TSAccessibility | null;
1872
+ decorators: Array<Decorator$1>;
1873
+ override: boolean;
1874
+ parameter: FormalParameter;
1875
+ readonly: boolean;
1876
+ static: boolean;
1908
1877
  parent?: Node$1;
1909
1878
  }
1910
- declare interface LabeledStatement$1 extends Span$1 {
1911
- type: "LabeledStatement";
1912
- label: LabelIdentifier$1;
1913
- body: Statement$1;
1879
+ interface FunctionBody extends Span$1 {
1880
+ type: "BlockStatement";
1881
+ body: Array<Directive | Statement$1>;
1914
1882
  parent?: Node$1;
1915
1883
  }
1916
- declare interface LabelIdentifier$1 extends Span$1 {
1917
- type: "Identifier";
1918
- decorators?: [];
1919
- name: string;
1920
- optional?: false;
1921
- typeAnnotation?: null;
1884
+ interface ArrowFunctionExpression$1 extends Span$1 {
1885
+ type: "ArrowFunctionExpression";
1886
+ expression: boolean;
1887
+ async: boolean;
1888
+ typeParameters?: TSTypeParameterDeclaration$1 | null;
1889
+ params: ParamPattern$1[];
1890
+ returnType?: TSTypeAnnotation$1 | null;
1891
+ body: FunctionBody | Expression$1;
1892
+ id: null;
1893
+ generator: false;
1922
1894
  parent?: Node$1;
1923
1895
  }
1924
- declare interface LogicalExpression$1 extends Span$1 {
1925
- type: "LogicalExpression";
1926
- left: Expression$1;
1927
- operator: LogicalOperator;
1928
- right: Expression$1;
1896
+ interface YieldExpression$1 extends Span$1 {
1897
+ type: "YieldExpression";
1898
+ delegate: boolean;
1899
+ argument: Expression$1 | null;
1929
1900
  parent?: Node$1;
1930
1901
  }
1931
- declare type LogicalOperator = "||" | "&&" | "??";
1932
- declare type MemberExpression$1 = ComputedMemberExpression | StaticMemberExpression$1 | PrivateFieldExpression;
1933
- declare interface MetaProperty$1 extends Span$1 {
1934
- type: "MetaProperty";
1935
- meta: IdentifierName$1;
1936
- property: IdentifierName$1;
1902
+ interface Class$1 extends Span$1 {
1903
+ type: ClassType;
1904
+ decorators: Array<Decorator$1>;
1905
+ id: BindingIdentifier$1 | null;
1906
+ typeParameters?: TSTypeParameterDeclaration$1 | null;
1907
+ superClass: Expression$1 | null;
1908
+ superTypeArguments?: TSTypeParameterInstantiation$1 | null;
1909
+ implements?: Array<TSClassImplements>;
1910
+ body: ClassBody$1;
1911
+ abstract?: boolean;
1912
+ declare?: boolean;
1937
1913
  parent?: Node$1;
1938
1914
  }
1939
- declare interface MethodDefinition$1 extends Span$1 {
1915
+ type ClassType = "ClassDeclaration" | "ClassExpression";
1916
+ interface ClassBody$1 extends Span$1 {
1917
+ type: "ClassBody";
1918
+ body: Array<ClassElement>;
1919
+ parent?: Node$1;
1920
+ }
1921
+ type ClassElement = StaticBlock$1 | MethodDefinition$1 | PropertyDefinition$1 | AccessorProperty$1 | TSIndexSignature$1;
1922
+ interface MethodDefinition$1 extends Span$1 {
1940
1923
  type: MethodDefinitionType;
1941
1924
  decorators: Array<Decorator$1>;
1942
- key: PropertyKey_2;
1925
+ key: PropertyKey$1;
1943
1926
  value: Function$1;
1944
1927
  kind: MethodDefinitionKind;
1945
1928
  computed: boolean;
@@ -1949,291 +1932,275 @@ declare interface MethodDefinition$1 extends Span$1 {
1949
1932
  accessibility?: TSAccessibility | null;
1950
1933
  parent?: Node$1;
1951
1934
  }
1952
- declare type MethodDefinitionKind = "constructor" | "method" | "get" | "set";
1953
- declare type MethodDefinitionType = "MethodDefinition" | "TSAbstractMethodDefinition";
1954
- declare type ModuleDeclaration = ImportDeclaration$1 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | TSExportAssignment$1 | TSNamespaceExportDeclaration$1;
1955
- declare type ModuleExportName = IdentifierName$1 | IdentifierReference$1 | StringLiteral$1;
1956
- declare type ModuleKind = "script" | "module" | "commonjs";
1957
- declare interface NewExpression$1 extends Span$1 {
1958
- type: "NewExpression";
1959
- callee: Expression$1;
1960
- typeArguments?: TSTypeParameterInstantiation$1 | null;
1961
- arguments: Array<Argument$1>;
1935
+ type MethodDefinitionType = "MethodDefinition" | "TSAbstractMethodDefinition";
1936
+ interface PropertyDefinition$1 extends Span$1 {
1937
+ type: PropertyDefinitionType;
1938
+ decorators: Array<Decorator$1>;
1939
+ key: PropertyKey$1;
1940
+ typeAnnotation?: TSTypeAnnotation$1 | null;
1941
+ value: Expression$1 | null;
1942
+ computed: boolean;
1943
+ static: boolean;
1944
+ declare?: boolean;
1945
+ override?: boolean;
1946
+ optional?: boolean;
1947
+ definite?: boolean;
1948
+ readonly?: boolean;
1949
+ accessibility?: TSAccessibility | null;
1962
1950
  parent?: Node$1;
1963
1951
  }
1964
- declare type Node$1 = Program$1 | IdentifierName$1 | IdentifierReference$1 | BindingIdentifier$1 | LabelIdentifier$1 | ThisExpression$1 | ArrayExpression$1 | ObjectExpression$1 | ObjectProperty$1 | TemplateLiteral$1 | TaggedTemplateExpression$1 | TemplateElement$1 | ComputedMemberExpression | StaticMemberExpression$1 | PrivateFieldExpression | CallExpression$1 | NewExpression$1 | MetaProperty$1 | SpreadElement$1 | UpdateExpression$1 | UnaryExpression$1 | BinaryExpression$1 | PrivateInExpression$1 | LogicalExpression$1 | ConditionalExpression$1 | AssignmentExpression$1 | ArrayAssignmentTarget | ObjectAssignmentTarget | AssignmentTargetRest | AssignmentTargetWithDefault | AssignmentTargetPropertyIdentifier | AssignmentTargetPropertyProperty | SequenceExpression$1 | Super$1 | AwaitExpression | ChainExpression$1 | ParenthesizedExpression | Directive | Hashbang | BlockStatement$1 | VariableDeclaration$1 | VariableDeclarator$1 | EmptyStatement$1 | ExpressionStatement$1 | IfStatement$1 | DoWhileStatement$1 | WhileStatement$1 | ForStatement$1 | ForInStatement$1 | ForOfStatement$1 | ContinueStatement$1 | BreakStatement$1 | ReturnStatement$1 | WithStatement$1 | SwitchStatement$1 | SwitchCase$1 | LabeledStatement$1 | ThrowStatement$1 | TryStatement$1 | CatchClause$1 | DebuggerStatement | AssignmentPattern$1 | ObjectPattern | BindingProperty$1 | ArrayPattern$1 | BindingRestElement$1 | Function$1 | FunctionBody | ArrowFunctionExpression$1 | YieldExpression$1 | Class$1 | ClassBody$1 | MethodDefinition$1 | PropertyDefinition$1 | PrivateIdentifier$1 | StaticBlock$1 | AccessorProperty$1 | ImportExpression$1 | ImportDeclaration$1 | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportAttribute$1 | ExportNamedDeclaration$1 | ExportDefaultDeclaration$1 | ExportAllDeclaration$1 | ExportSpecifier | V8IntrinsicExpression | BooleanLiteral$1 | NullLiteral$1 | NumericLiteral$1 | StringLiteral$1 | BigIntLiteral$1 | RegExpLiteral$1 | JSXElement$1 | JSXOpeningElement$1 | JSXClosingElement | JSXFragment$1 | JSXOpeningFragment | JSXClosingFragment | JSXNamespacedName$1 | JSXMemberExpression$1 | JSXExpressionContainer$1 | JSXEmptyExpression | JSXAttribute$1 | JSXSpreadAttribute$1 | JSXIdentifier$1 | JSXSpreadChild$1 | JSXText$1 | TSThisParameter | TSEnumDeclaration$1 | TSEnumBody | TSEnumMember | TSTypeAnnotation$1 | TSLiteralType$1 | TSConditionalType$1 | TSUnionType$1 | TSIntersectionType$1 | TSParenthesizedType$1 | TSTypeOperator$1 | TSArrayType$1 | TSIndexedAccessType$1 | TSTupleType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSRestType$1 | TSAnyKeyword | TSStringKeyword | TSBooleanKeyword | TSNumberKeyword | TSNeverKeyword | TSIntrinsicKeyword | TSUnknownKeyword | TSNullKeyword | TSUndefinedKeyword | TSVoidKeyword | TSSymbolKeyword | TSThisType | TSObjectKeyword | TSBigIntKeyword | TSTypeReference$1 | TSQualifiedName$1 | TSTypeParameterInstantiation$1 | TSTypeParameter | TSTypeParameterDeclaration$1 | TSTypeAliasDeclaration$1 | TSClassImplements | TSInterfaceDeclaration$1 | TSInterfaceBody$1 | TSPropertySignature$1 | TSIndexSignature$1 | TSCallSignatureDeclaration$1 | TSMethodSignature$1 | TSConstructSignatureDeclaration$1 | TSIndexSignatureName | TSInterfaceHeritage | TSTypePredicate$1 | TSModuleDeclaration$1 | TSGlobalDeclaration | TSModuleBlock$1 | TSTypeLiteral | TSInferType$1 | TSTypeQuery$1 | TSImportType$1 | TSImportTypeQualifiedName | TSFunctionType$1 | TSConstructorType$1 | TSMappedType$1 | TSTemplateLiteralType$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TSImportEqualsDeclaration$1 | TSExternalModuleReference | TSNonNullExpression$1 | Decorator$1 | TSExportAssignment$1 | TSNamespaceExportDeclaration$1 | TSInstantiationExpression$1 | JSDocNullableType$1 | JSDocNonNullableType$1 | JSDocUnknownType | ParamPattern$1;
1965
- declare type Node_2 = Simplify<Built<Node$1>> | Node$1;
1966
- declare interface NullLiteral$1 extends Span$1 {
1967
- type: "Literal";
1968
- value: null;
1969
- raw: "null" | null;
1952
+ type PropertyDefinitionType = "PropertyDefinition" | "TSAbstractPropertyDefinition";
1953
+ type MethodDefinitionKind = "constructor" | "method" | "get" | "set";
1954
+ interface PrivateIdentifier$1 extends Span$1 {
1955
+ type: "PrivateIdentifier";
1956
+ name: string;
1970
1957
  parent?: Node$1;
1971
1958
  }
1972
- declare interface NumericLiteral$1 extends Span$1 {
1973
- type: "Literal";
1974
- value: number;
1975
- raw: string | null;
1959
+ interface StaticBlock$1 extends Span$1 {
1960
+ type: "StaticBlock";
1961
+ body: Array<Statement$1>;
1976
1962
  parent?: Node$1;
1977
1963
  }
1978
- declare interface ObjectAssignmentTarget extends Span$1 {
1979
- type: "ObjectPattern";
1980
- decorators?: [];
1981
- properties: Array<AssignmentTargetProperty | AssignmentTargetRest>;
1964
+ type ModuleDeclaration = ImportDeclaration$1 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | TSExportAssignment$1 | TSNamespaceExportDeclaration$1;
1965
+ type AccessorPropertyType = "AccessorProperty" | "TSAbstractAccessorProperty";
1966
+ interface AccessorProperty$1 extends Span$1 {
1967
+ type: AccessorPropertyType;
1968
+ decorators: Array<Decorator$1>;
1969
+ key: PropertyKey$1;
1970
+ typeAnnotation?: TSTypeAnnotation$1 | null;
1971
+ value: Expression$1 | null;
1972
+ computed: boolean;
1973
+ static: boolean;
1974
+ override?: boolean;
1975
+ definite?: boolean;
1976
+ accessibility?: TSAccessibility | null;
1977
+ declare?: false;
1982
1978
  optional?: false;
1983
- typeAnnotation?: null;
1979
+ readonly?: false;
1984
1980
  parent?: Node$1;
1985
1981
  }
1986
- declare interface ObjectExpression$1 extends Span$1 {
1987
- type: "ObjectExpression";
1988
- properties: Array<ObjectPropertyKind>;
1982
+ interface ImportExpression$1 extends Span$1 {
1983
+ type: "ImportExpression";
1984
+ source: Expression$1;
1985
+ options: Expression$1 | null;
1986
+ phase: ImportPhase | null;
1989
1987
  parent?: Node$1;
1990
1988
  }
1991
- declare interface ObjectPattern extends Span$1 {
1992
- type: "ObjectPattern";
1993
- decorators?: [];
1994
- properties: Array<BindingProperty$1 | BindingRestElement$1>;
1995
- optional?: false;
1996
- typeAnnotation?: TSTypeAnnotation$1 | null;
1989
+ interface ImportDeclaration$1 extends Span$1 {
1990
+ type: "ImportDeclaration";
1991
+ specifiers: Array<ImportDeclarationSpecifier>;
1992
+ source: StringLiteral$1;
1993
+ phase: ImportPhase | null;
1994
+ attributes: Array<ImportAttribute$1>;
1995
+ importKind?: ImportOrExportKind;
1997
1996
  parent?: Node$1;
1998
1997
  }
1999
- declare interface ObjectProperty$1 extends Span$1 {
2000
- type: "Property";
2001
- kind: PropertyKind;
2002
- key: PropertyKey_2;
2003
- value: Expression$1;
2004
- method: boolean;
2005
- shorthand: boolean;
2006
- computed: boolean;
2007
- optional?: false;
1998
+ type ImportPhase = "source" | "defer";
1999
+ type ImportDeclarationSpecifier = ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier;
2000
+ interface ImportSpecifier extends Span$1 {
2001
+ type: "ImportSpecifier";
2002
+ imported: ModuleExportName;
2003
+ local: BindingIdentifier$1;
2004
+ importKind?: ImportOrExportKind;
2008
2005
  parent?: Node$1;
2009
2006
  }
2010
- declare type ObjectPropertyKind = ObjectProperty$1 | SpreadElement$1;
2011
- declare type ParamPattern$1 = FormalParameter | TSParameterProperty | FormalParameterRest;
2012
- declare interface ParenthesizedExpression extends Span$1 {
2013
- type: "ParenthesizedExpression";
2014
- expression: Expression$1;
2007
+ interface ImportDefaultSpecifier extends Span$1 {
2008
+ type: "ImportDefaultSpecifier";
2009
+ local: BindingIdentifier$1;
2015
2010
  parent?: Node$1;
2016
2011
  }
2017
- declare interface PrivateFieldExpression extends Span$1 {
2018
- type: "MemberExpression";
2019
- object: Expression$1;
2020
- property: PrivateIdentifier$1;
2021
- optional: boolean;
2022
- computed: false;
2012
+ interface ImportNamespaceSpecifier extends Span$1 {
2013
+ type: "ImportNamespaceSpecifier";
2014
+ local: BindingIdentifier$1;
2023
2015
  parent?: Node$1;
2024
2016
  }
2025
- declare interface PrivateIdentifier$1 extends Span$1 {
2026
- type: "PrivateIdentifier";
2027
- name: string;
2017
+ interface ImportAttribute$1 extends Span$1 {
2018
+ type: "ImportAttribute";
2019
+ key: ImportAttributeKey;
2020
+ value: StringLiteral$1;
2028
2021
  parent?: Node$1;
2029
2022
  }
2030
- declare interface PrivateInExpression$1 extends Span$1 {
2031
- type: "BinaryExpression";
2032
- left: PrivateIdentifier$1;
2033
- operator: "in";
2034
- right: Expression$1;
2023
+ type ImportAttributeKey = IdentifierName$1 | StringLiteral$1;
2024
+ interface ExportNamedDeclaration$1 extends Span$1 {
2025
+ type: "ExportNamedDeclaration";
2026
+ declaration: Declaration | null;
2027
+ specifiers: Array<ExportSpecifier>;
2028
+ source: StringLiteral$1 | null;
2029
+ exportKind?: ImportOrExportKind;
2030
+ attributes: Array<ImportAttribute$1>;
2035
2031
  parent?: Node$1;
2036
2032
  }
2037
- declare interface Program$1 extends Span$1 {
2038
- type: "Program";
2039
- body: Array<Directive | Statement$1>;
2040
- sourceType: ModuleKind;
2041
- hashbang: Hashbang | null;
2042
- parent?: null;
2043
- }
2044
- declare type Program = Simplify<Built<Program$1>>;
2045
- declare interface PropertyDefinition$1 extends Span$1 {
2046
- type: PropertyDefinitionType;
2047
- decorators: Array<Decorator$1>;
2048
- key: PropertyKey_2;
2049
- typeAnnotation?: TSTypeAnnotation$1 | null;
2050
- value: Expression$1 | null;
2051
- computed: boolean;
2052
- static: boolean;
2053
- declare?: boolean;
2054
- override?: boolean;
2055
- optional?: boolean;
2056
- definite?: boolean;
2057
- readonly?: boolean;
2058
- accessibility?: TSAccessibility | null;
2033
+ interface ExportDefaultDeclaration$1 extends Span$1 {
2034
+ type: "ExportDefaultDeclaration";
2035
+ declaration: ExportDefaultDeclarationKind;
2036
+ exportKind?: "value";
2059
2037
  parent?: Node$1;
2060
2038
  }
2061
- declare type PropertyDefinitionType = "PropertyDefinition" | "TSAbstractPropertyDefinition";
2062
- declare type PropertyKey_2 = IdentifierName$1 | PrivateIdentifier$1 | Expression$1;
2063
- declare type PropertyKind = "init" | "get" | "set";
2064
- declare interface RegExpLiteral$1 extends Span$1 {
2065
- type: "Literal";
2066
- value: RegExp | null;
2067
- raw: string | null;
2068
- regex: {
2069
- pattern: string;
2070
- flags: string;
2071
- };
2039
+ interface ExportAllDeclaration$1 extends Span$1 {
2040
+ type: "ExportAllDeclaration";
2041
+ exported: ModuleExportName | null;
2042
+ source: StringLiteral$1;
2043
+ attributes: Array<ImportAttribute$1>;
2044
+ exportKind?: ImportOrExportKind;
2072
2045
  parent?: Node$1;
2073
2046
  }
2074
- declare interface ReturnStatement$1 extends Span$1 {
2075
- type: "ReturnStatement";
2076
- argument: Expression$1 | null;
2047
+ interface ExportSpecifier extends Span$1 {
2048
+ type: "ExportSpecifier";
2049
+ local: ModuleExportName;
2050
+ exported: ModuleExportName;
2051
+ exportKind?: ImportOrExportKind;
2077
2052
  parent?: Node$1;
2078
2053
  }
2079
- declare interface SequenceExpression$1 extends Span$1 {
2080
- type: "SequenceExpression";
2081
- expressions: Array<Expression$1>;
2054
+ type ExportDefaultDeclarationKind = Function$1 | Class$1 | TSInterfaceDeclaration$1 | Expression$1;
2055
+ type ModuleExportName = IdentifierName$1 | IdentifierReference$1 | StringLiteral$1;
2056
+ interface V8IntrinsicExpression extends Span$1 {
2057
+ type: "V8IntrinsicExpression";
2058
+ name: IdentifierName$1;
2059
+ arguments: Array<Argument$1>;
2082
2060
  parent?: Node$1;
2083
2061
  }
2084
- declare type SimpleAssignmentTarget$1 = IdentifierReference$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSNonNullExpression$1 | TSTypeAssertion$1 | MemberExpression$1;
2085
- declare type Simplify<T> = { [K in keyof T]: T[K]; } & {};
2086
- declare interface Span$1 {
2087
- start: number;
2088
- end: number;
2089
- range?: [number, number];
2090
- }
2091
- declare interface SpreadElement$1 extends Span$1 {
2092
- type: "SpreadElement";
2093
- argument: Expression$1;
2062
+ interface BooleanLiteral$1 extends Span$1 {
2063
+ type: "Literal";
2064
+ value: boolean;
2065
+ raw: string | null;
2094
2066
  parent?: Node$1;
2095
2067
  }
2096
- declare type Statement$1 = BlockStatement$1 | BreakStatement$1 | ContinueStatement$1 | DebuggerStatement | DoWhileStatement$1 | EmptyStatement$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | ReturnStatement$1 | SwitchStatement$1 | ThrowStatement$1 | TryStatement$1 | WhileStatement$1 | WithStatement$1 | Declaration | ModuleDeclaration;
2097
- declare interface StaticBlock$1 extends Span$1 {
2098
- type: "StaticBlock";
2099
- body: Array<Statement$1>;
2068
+ interface NullLiteral$1 extends Span$1 {
2069
+ type: "Literal";
2070
+ value: null;
2071
+ raw: "null" | null;
2100
2072
  parent?: Node$1;
2101
2073
  }
2102
- declare interface StaticMemberExpression$1 extends Span$1 {
2103
- type: "MemberExpression";
2104
- object: Expression$1;
2105
- property: IdentifierName$1;
2106
- optional: boolean;
2107
- computed: false;
2074
+ interface NumericLiteral$1 extends Span$1 {
2075
+ type: "Literal";
2076
+ value: number;
2077
+ raw: string | null;
2108
2078
  parent?: Node$1;
2109
2079
  }
2110
- declare interface StringLiteral$1 extends Span$1 {
2080
+ interface StringLiteral$1 extends Span$1 {
2111
2081
  type: "Literal";
2112
2082
  value: string;
2113
2083
  raw: string | null;
2114
2084
  parent?: Node$1;
2115
2085
  }
2116
- declare interface Super$1 extends Span$1 {
2117
- type: "Super";
2118
- parent?: Node$1;
2119
- }
2120
- declare interface SwitchCase$1 extends Span$1 {
2121
- type: "SwitchCase";
2122
- test: Expression$1 | null;
2123
- consequent: Array<Statement$1>;
2124
- parent?: Node$1;
2125
- }
2126
- declare interface SwitchStatement$1 extends Span$1 {
2127
- type: "SwitchStatement";
2128
- discriminant: Expression$1;
2129
- cases: Array<SwitchCase$1>;
2086
+ interface BigIntLiteral$1 extends Span$1 {
2087
+ type: "Literal";
2088
+ value: bigint;
2089
+ raw: string | null;
2090
+ bigint: string;
2130
2091
  parent?: Node$1;
2131
2092
  }
2132
- declare interface TaggedTemplateExpression$1 extends Span$1 {
2133
- type: "TaggedTemplateExpression";
2134
- tag: Expression$1;
2135
- typeArguments?: TSTypeParameterInstantiation$1 | null;
2136
- quasi: TemplateLiteral$1;
2093
+ interface RegExpLiteral$1 extends Span$1 {
2094
+ type: "Literal";
2095
+ value: RegExp | null;
2096
+ raw: string | null;
2097
+ regex: {
2098
+ pattern: string;
2099
+ flags: string;
2100
+ };
2137
2101
  parent?: Node$1;
2138
2102
  }
2139
- declare interface TemplateElement$1 extends Span$1 {
2140
- type: "TemplateElement";
2141
- value: TemplateElementValue;
2142
- tail: boolean;
2103
+ interface JSXElement$1 extends Span$1 {
2104
+ type: "JSXElement";
2105
+ openingElement: JSXOpeningElement$1;
2106
+ children: Array<JSXChild>;
2107
+ closingElement: JSXClosingElement | null;
2143
2108
  parent?: Node$1;
2144
2109
  }
2145
- declare interface TemplateElementValue {
2146
- raw: string;
2147
- cooked: string | null;
2148
- }
2149
- declare interface TemplateLiteral$1 extends Span$1 {
2150
- type: "TemplateLiteral";
2151
- quasis: Array<TemplateElement$1>;
2152
- expressions: Array<Expression$1>;
2110
+ interface JSXOpeningElement$1 extends Span$1 {
2111
+ type: "JSXOpeningElement";
2112
+ name: JSXElementName;
2113
+ typeArguments?: TSTypeParameterInstantiation$1 | null;
2114
+ attributes: Array<JSXAttributeItem>;
2115
+ selfClosing: boolean;
2153
2116
  parent?: Node$1;
2154
2117
  }
2155
- declare interface ThisExpression$1 extends Span$1 {
2156
- type: "ThisExpression";
2118
+ interface JSXClosingElement extends Span$1 {
2119
+ type: "JSXClosingElement";
2120
+ name: JSXElementName;
2157
2121
  parent?: Node$1;
2158
2122
  }
2159
- declare interface ThrowStatement$1 extends Span$1 {
2160
- type: "ThrowStatement";
2161
- argument: Expression$1;
2123
+ interface JSXFragment$1 extends Span$1 {
2124
+ type: "JSXFragment";
2125
+ openingFragment: JSXOpeningFragment;
2126
+ children: Array<JSXChild>;
2127
+ closingFragment: JSXClosingFragment;
2162
2128
  parent?: Node$1;
2163
2129
  }
2164
- declare interface TryStatement$1 extends Span$1 {
2165
- type: "TryStatement";
2166
- block: BlockStatement$1;
2167
- handler: CatchClause$1 | null;
2168
- finalizer: BlockStatement$1 | null;
2130
+ interface JSXOpeningFragment extends Span$1 {
2131
+ type: "JSXOpeningFragment";
2132
+ attributes?: [];
2133
+ selfClosing?: false;
2169
2134
  parent?: Node$1;
2170
2135
  }
2171
- declare type TSAccessibility = "private" | "protected" | "public";
2172
- declare interface TSAnyKeyword extends Span$1 {
2173
- type: "TSAnyKeyword";
2136
+ interface JSXClosingFragment extends Span$1 {
2137
+ type: "JSXClosingFragment";
2174
2138
  parent?: Node$1;
2175
2139
  }
2176
- declare interface TSArrayType$1 extends Span$1 {
2177
- type: "TSArrayType";
2178
- elementType: TSType$1;
2140
+ type JSXElementName = JSXIdentifier$1 | JSXNamespacedName$1 | JSXMemberExpression$1;
2141
+ interface JSXNamespacedName$1 extends Span$1 {
2142
+ type: "JSXNamespacedName";
2143
+ namespace: JSXIdentifier$1;
2144
+ name: JSXIdentifier$1;
2179
2145
  parent?: Node$1;
2180
2146
  }
2181
- declare interface TSAsExpression$1 extends Span$1 {
2182
- type: "TSAsExpression";
2183
- expression: Expression$1;
2184
- typeAnnotation: TSType$1;
2147
+ interface JSXMemberExpression$1 extends Span$1 {
2148
+ type: "JSXMemberExpression";
2149
+ object: JSXMemberExpressionObject;
2150
+ property: JSXIdentifier$1;
2185
2151
  parent?: Node$1;
2186
2152
  }
2187
- declare interface TSBigIntKeyword extends Span$1 {
2188
- type: "TSBigIntKeyword";
2153
+ type JSXMemberExpressionObject = JSXIdentifier$1 | JSXMemberExpression$1;
2154
+ interface JSXExpressionContainer$1 extends Span$1 {
2155
+ type: "JSXExpressionContainer";
2156
+ expression: JSXExpression;
2189
2157
  parent?: Node$1;
2190
2158
  }
2191
- declare interface TSBooleanKeyword extends Span$1 {
2192
- type: "TSBooleanKeyword";
2159
+ type JSXExpression = JSXEmptyExpression | Expression$1;
2160
+ interface JSXEmptyExpression extends Span$1 {
2161
+ type: "JSXEmptyExpression";
2193
2162
  parent?: Node$1;
2194
2163
  }
2195
- declare interface TSCallSignatureDeclaration$1 extends Span$1 {
2196
- type: "TSCallSignatureDeclaration";
2197
- typeParameters: TSTypeParameterDeclaration$1 | null;
2198
- params: ParamPattern$1[];
2199
- returnType: TSTypeAnnotation$1 | null;
2164
+ type JSXAttributeItem = JSXAttribute$1 | JSXSpreadAttribute$1;
2165
+ interface JSXAttribute$1 extends Span$1 {
2166
+ type: "JSXAttribute";
2167
+ name: JSXAttributeName;
2168
+ value: JSXAttributeValue | null;
2200
2169
  parent?: Node$1;
2201
2170
  }
2202
- declare interface TSClassImplements extends Span$1 {
2203
- type: "TSClassImplements";
2204
- expression: IdentifierReference$1 | ThisExpression$1 | MemberExpression$1;
2205
- typeArguments: TSTypeParameterInstantiation$1 | null;
2171
+ interface JSXSpreadAttribute$1 extends Span$1 {
2172
+ type: "JSXSpreadAttribute";
2173
+ argument: Expression$1;
2206
2174
  parent?: Node$1;
2207
2175
  }
2208
- declare interface TSConditionalType$1 extends Span$1 {
2209
- type: "TSConditionalType";
2210
- checkType: TSType$1;
2211
- extendsType: TSType$1;
2212
- trueType: TSType$1;
2213
- falseType: TSType$1;
2176
+ type JSXAttributeName = JSXIdentifier$1 | JSXNamespacedName$1;
2177
+ type JSXAttributeValue = StringLiteral$1 | JSXExpressionContainer$1 | JSXElement$1 | JSXFragment$1;
2178
+ interface JSXIdentifier$1 extends Span$1 {
2179
+ type: "JSXIdentifier";
2180
+ name: string;
2214
2181
  parent?: Node$1;
2215
2182
  }
2216
- declare interface TSConstructorType$1 extends Span$1 {
2217
- type: "TSConstructorType";
2218
- abstract: boolean;
2219
- typeParameters: TSTypeParameterDeclaration$1 | null;
2220
- params: ParamPattern$1[];
2221
- returnType: TSTypeAnnotation$1;
2183
+ type JSXChild = JSXText$1 | JSXElement$1 | JSXFragment$1 | JSXExpressionContainer$1 | JSXSpreadChild$1;
2184
+ interface JSXSpreadChild$1 extends Span$1 {
2185
+ type: "JSXSpreadChild";
2186
+ expression: Expression$1;
2222
2187
  parent?: Node$1;
2223
2188
  }
2224
- declare interface TSConstructSignatureDeclaration$1 extends Span$1 {
2225
- type: "TSConstructSignatureDeclaration";
2226
- typeParameters: TSTypeParameterDeclaration$1 | null;
2227
- params: ParamPattern$1[];
2228
- returnType: TSTypeAnnotation$1 | null;
2189
+ interface JSXText$1 extends Span$1 {
2190
+ type: "JSXText";
2191
+ value: string;
2192
+ raw: string | null;
2229
2193
  parent?: Node$1;
2230
2194
  }
2231
- declare interface TSEnumBody extends Span$1 {
2232
- type: "TSEnumBody";
2233
- members: Array<TSEnumMember>;
2195
+ interface TSThisParameter extends Span$1 {
2196
+ type: "Identifier";
2197
+ decorators: [];
2198
+ name: "this";
2199
+ optional: false;
2200
+ typeAnnotation: TSTypeAnnotation$1 | null;
2234
2201
  parent?: Node$1;
2235
2202
  }
2236
- declare interface TSEnumDeclaration$1 extends Span$1 {
2203
+ interface TSEnumDeclaration$1 extends Span$1 {
2237
2204
  type: "TSEnumDeclaration";
2238
2205
  id: BindingIdentifier$1;
2239
2206
  body: TSEnumBody;
@@ -2241,433 +2208,472 @@ declare interface TSEnumDeclaration$1 extends Span$1 {
2241
2208
  declare: boolean;
2242
2209
  parent?: Node$1;
2243
2210
  }
2244
- declare interface TSEnumMember extends Span$1 {
2211
+ interface TSEnumBody extends Span$1 {
2212
+ type: "TSEnumBody";
2213
+ members: Array<TSEnumMember>;
2214
+ parent?: Node$1;
2215
+ }
2216
+ interface TSEnumMember extends Span$1 {
2245
2217
  type: "TSEnumMember";
2246
2218
  id: TSEnumMemberName;
2247
2219
  initializer: Expression$1 | null;
2248
2220
  computed: boolean;
2249
2221
  parent?: Node$1;
2250
2222
  }
2251
- declare type TSEnumMemberName = IdentifierName$1 | StringLiteral$1 | TemplateLiteral$1;
2252
- declare interface TSExportAssignment$1 extends Span$1 {
2253
- type: "TSExportAssignment";
2254
- expression: Expression$1;
2223
+ type TSEnumMemberName = IdentifierName$1 | StringLiteral$1 | TemplateLiteral$1;
2224
+ interface TSTypeAnnotation$1 extends Span$1 {
2225
+ type: "TSTypeAnnotation";
2226
+ typeAnnotation: TSType$1;
2255
2227
  parent?: Node$1;
2256
2228
  }
2257
- declare interface TSExternalModuleReference extends Span$1 {
2258
- type: "TSExternalModuleReference";
2259
- expression: StringLiteral$1;
2229
+ interface TSLiteralType$1 extends Span$1 {
2230
+ type: "TSLiteralType";
2231
+ literal: TSLiteral;
2260
2232
  parent?: Node$1;
2261
2233
  }
2262
- declare interface TSFunctionType$1 extends Span$1 {
2263
- type: "TSFunctionType";
2264
- typeParameters: TSTypeParameterDeclaration$1 | null;
2265
- params: ParamPattern$1[];
2266
- returnType: TSTypeAnnotation$1;
2234
+ type TSLiteral = BooleanLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | StringLiteral$1 | TemplateLiteral$1 | UnaryExpression$1;
2235
+ type TSType$1 = TSAnyKeyword | TSBigIntKeyword | TSBooleanKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSArrayType$1 | TSConditionalType$1 | TSConstructorType$1 | TSFunctionType$1 | TSImportType$1 | TSIndexedAccessType$1 | TSInferType$1 | TSIntersectionType$1 | TSLiteralType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSTemplateLiteralType$1 | TSThisType | TSTupleType$1 | TSTypeLiteral | TSTypeOperator$1 | TSTypePredicate$1 | TSTypeQuery$1 | TSTypeReference$1 | TSUnionType$1 | TSParenthesizedType$1 | JSDocNullableType$1 | JSDocNonNullableType$1 | JSDocUnknownType;
2236
+ interface TSConditionalType$1 extends Span$1 {
2237
+ type: "TSConditionalType";
2238
+ checkType: TSType$1;
2239
+ extendsType: TSType$1;
2240
+ trueType: TSType$1;
2241
+ falseType: TSType$1;
2267
2242
  parent?: Node$1;
2268
2243
  }
2269
- declare interface TSGlobalDeclaration extends Span$1 {
2270
- type: "TSModuleDeclaration";
2271
- id: IdentifierName$1;
2272
- body: TSModuleBlock$1;
2273
- kind: "global";
2274
- declare: boolean;
2275
- global: true;
2244
+ interface TSUnionType$1 extends Span$1 {
2245
+ type: "TSUnionType";
2246
+ types: Array<TSType$1>;
2276
2247
  parent?: Node$1;
2277
2248
  }
2278
- declare interface TSImportEqualsDeclaration$1 extends Span$1 {
2279
- type: "TSImportEqualsDeclaration";
2280
- id: BindingIdentifier$1;
2281
- moduleReference: TSModuleReference;
2282
- importKind: ImportOrExportKind;
2249
+ interface TSIntersectionType$1 extends Span$1 {
2250
+ type: "TSIntersectionType";
2251
+ types: Array<TSType$1>;
2283
2252
  parent?: Node$1;
2284
2253
  }
2285
- declare interface TSImportType$1 extends Span$1 {
2286
- type: "TSImportType";
2287
- source: StringLiteral$1;
2288
- options: ObjectExpression$1 | null;
2289
- qualifier: TSImportTypeQualifier | null;
2290
- typeArguments: TSTypeParameterInstantiation$1 | null;
2254
+ interface TSParenthesizedType$1 extends Span$1 {
2255
+ type: "TSParenthesizedType";
2256
+ typeAnnotation: TSType$1;
2291
2257
  parent?: Node$1;
2292
2258
  }
2293
- declare interface TSImportTypeQualifiedName extends Span$1 {
2294
- type: "TSQualifiedName";
2295
- left: TSImportTypeQualifier;
2296
- right: IdentifierName$1;
2259
+ interface TSTypeOperator$1 extends Span$1 {
2260
+ type: "TSTypeOperator";
2261
+ operator: TSTypeOperatorOperator;
2262
+ typeAnnotation: TSType$1;
2263
+ parent?: Node$1;
2264
+ }
2265
+ type TSTypeOperatorOperator = "keyof" | "unique" | "readonly";
2266
+ interface TSArrayType$1 extends Span$1 {
2267
+ type: "TSArrayType";
2268
+ elementType: TSType$1;
2297
2269
  parent?: Node$1;
2298
2270
  }
2299
- declare type TSImportTypeQualifier = IdentifierName$1 | TSImportTypeQualifiedName;
2300
- declare interface TSIndexedAccessType$1 extends Span$1 {
2271
+ interface TSIndexedAccessType$1 extends Span$1 {
2301
2272
  type: "TSIndexedAccessType";
2302
2273
  objectType: TSType$1;
2303
2274
  indexType: TSType$1;
2304
2275
  parent?: Node$1;
2305
2276
  }
2306
- declare interface TSIndexSignature$1 extends Span$1 {
2307
- type: "TSIndexSignature";
2308
- parameters: Array<TSIndexSignatureName>;
2309
- typeAnnotation: TSTypeAnnotation$1;
2310
- readonly: boolean;
2311
- static: boolean;
2312
- accessibility: null;
2277
+ interface TSTupleType$1 extends Span$1 {
2278
+ type: "TSTupleType";
2279
+ elementTypes: Array<TSTupleElement>;
2313
2280
  parent?: Node$1;
2314
2281
  }
2315
- declare interface TSIndexSignatureName extends Span$1 {
2316
- type: "Identifier";
2317
- decorators: [];
2318
- name: string;
2319
- optional: false;
2320
- typeAnnotation: TSTypeAnnotation$1;
2282
+ interface TSNamedTupleMember$1 extends Span$1 {
2283
+ type: "TSNamedTupleMember";
2284
+ label: IdentifierName$1;
2285
+ elementType: TSTupleElement;
2286
+ optional: boolean;
2321
2287
  parent?: Node$1;
2322
2288
  }
2323
- declare interface TSInferType$1 extends Span$1 {
2324
- type: "TSInferType";
2325
- typeParameter: TSTypeParameter;
2289
+ interface TSOptionalType$1 extends Span$1 {
2290
+ type: "TSOptionalType";
2291
+ typeAnnotation: TSType$1;
2326
2292
  parent?: Node$1;
2327
2293
  }
2328
- declare interface TSInstantiationExpression$1 extends Span$1 {
2329
- type: "TSInstantiationExpression";
2330
- expression: Expression$1;
2331
- typeArguments: TSTypeParameterInstantiation$1;
2294
+ interface TSRestType$1 extends Span$1 {
2295
+ type: "TSRestType";
2296
+ typeAnnotation: TSType$1;
2332
2297
  parent?: Node$1;
2333
2298
  }
2334
- declare interface TSInterfaceBody$1 extends Span$1 {
2335
- type: "TSInterfaceBody";
2336
- body: Array<TSSignature>;
2299
+ type TSTupleElement = TSOptionalType$1 | TSRestType$1 | TSType$1;
2300
+ interface TSAnyKeyword extends Span$1 {
2301
+ type: "TSAnyKeyword";
2337
2302
  parent?: Node$1;
2338
2303
  }
2339
- declare interface TSInterfaceDeclaration$1 extends Span$1 {
2340
- type: "TSInterfaceDeclaration";
2341
- id: BindingIdentifier$1;
2342
- typeParameters: TSTypeParameterDeclaration$1 | null;
2343
- extends: Array<TSInterfaceHeritage>;
2344
- body: TSInterfaceBody$1;
2345
- declare: boolean;
2304
+ interface TSStringKeyword extends Span$1 {
2305
+ type: "TSStringKeyword";
2346
2306
  parent?: Node$1;
2347
2307
  }
2348
- declare interface TSInterfaceHeritage extends Span$1 {
2349
- type: "TSInterfaceHeritage";
2350
- expression: Expression$1;
2351
- typeArguments: TSTypeParameterInstantiation$1 | null;
2308
+ interface TSBooleanKeyword extends Span$1 {
2309
+ type: "TSBooleanKeyword";
2352
2310
  parent?: Node$1;
2353
2311
  }
2354
- declare interface TSIntersectionType$1 extends Span$1 {
2355
- type: "TSIntersectionType";
2356
- types: Array<TSType$1>;
2312
+ interface TSNumberKeyword extends Span$1 {
2313
+ type: "TSNumberKeyword";
2314
+ parent?: Node$1;
2315
+ }
2316
+ interface TSNeverKeyword extends Span$1 {
2317
+ type: "TSNeverKeyword";
2357
2318
  parent?: Node$1;
2358
2319
  }
2359
- declare interface TSIntrinsicKeyword extends Span$1 {
2320
+ interface TSIntrinsicKeyword extends Span$1 {
2360
2321
  type: "TSIntrinsicKeyword";
2361
2322
  parent?: Node$1;
2362
2323
  }
2363
- declare type TSLiteral = BooleanLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | StringLiteral$1 | TemplateLiteral$1 | UnaryExpression$1;
2364
- declare interface TSLiteralType$1 extends Span$1 {
2365
- type: "TSLiteralType";
2366
- literal: TSLiteral;
2324
+ interface TSUnknownKeyword extends Span$1 {
2325
+ type: "TSUnknownKeyword";
2367
2326
  parent?: Node$1;
2368
2327
  }
2369
- declare interface TSMappedType$1 extends Span$1 {
2370
- type: "TSMappedType";
2371
- key: BindingIdentifier$1;
2372
- constraint: TSType$1;
2373
- nameType: TSType$1 | null;
2374
- typeAnnotation: TSType$1 | null;
2375
- optional: TSMappedTypeModifierOperator | false;
2376
- readonly: TSMappedTypeModifierOperator | null;
2328
+ interface TSNullKeyword extends Span$1 {
2329
+ type: "TSNullKeyword";
2377
2330
  parent?: Node$1;
2378
2331
  }
2379
- declare type TSMappedTypeModifierOperator = true | "+" | "-";
2380
- declare interface TSMethodSignature$1 extends Span$1 {
2381
- type: "TSMethodSignature";
2382
- key: PropertyKey_2;
2383
- computed: boolean;
2384
- optional: boolean;
2385
- kind: TSMethodSignatureKind;
2386
- typeParameters: TSTypeParameterDeclaration$1 | null;
2387
- params: ParamPattern$1[];
2388
- returnType: TSTypeAnnotation$1 | null;
2389
- accessibility: null;
2390
- readonly: false;
2391
- static: false;
2332
+ interface TSUndefinedKeyword extends Span$1 {
2333
+ type: "TSUndefinedKeyword";
2392
2334
  parent?: Node$1;
2393
2335
  }
2394
- declare type TSMethodSignatureKind = "method" | "get" | "set";
2395
- declare interface TSModuleBlock$1 extends Span$1 {
2396
- type: "TSModuleBlock";
2397
- body: Array<Directive | Statement$1>;
2336
+ interface TSVoidKeyword extends Span$1 {
2337
+ type: "TSVoidKeyword";
2398
2338
  parent?: Node$1;
2399
2339
  }
2400
- declare interface TSModuleDeclaration$1 extends Span$1 {
2401
- type: "TSModuleDeclaration";
2402
- id: BindingIdentifier$1 | StringLiteral$1 | TSQualifiedName$1;
2403
- body: TSModuleBlock$1 | null;
2404
- kind: TSModuleDeclarationKind;
2405
- declare: boolean;
2406
- global: false;
2340
+ interface TSSymbolKeyword extends Span$1 {
2341
+ type: "TSSymbolKeyword";
2407
2342
  parent?: Node$1;
2408
2343
  }
2409
- declare type TSModuleDeclarationKind = "module" | "namespace";
2410
- declare type TSModuleReference = TSExternalModuleReference | IdentifierReference$1 | TSQualifiedName$1;
2411
- declare interface TSNamedTupleMember$1 extends Span$1 {
2412
- type: "TSNamedTupleMember";
2413
- label: IdentifierName$1;
2414
- elementType: TSTupleElement;
2415
- optional: boolean;
2344
+ interface TSThisType extends Span$1 {
2345
+ type: "TSThisType";
2416
2346
  parent?: Node$1;
2417
2347
  }
2418
- declare interface TSNamespaceExportDeclaration$1 extends Span$1 {
2419
- type: "TSNamespaceExportDeclaration";
2420
- id: IdentifierName$1;
2348
+ interface TSObjectKeyword extends Span$1 {
2349
+ type: "TSObjectKeyword";
2421
2350
  parent?: Node$1;
2422
2351
  }
2423
- declare interface TSNeverKeyword extends Span$1 {
2424
- type: "TSNeverKeyword";
2352
+ interface TSBigIntKeyword extends Span$1 {
2353
+ type: "TSBigIntKeyword";
2425
2354
  parent?: Node$1;
2426
2355
  }
2427
- declare interface TSNonNullExpression$1 extends Span$1 {
2428
- type: "TSNonNullExpression";
2429
- expression: Expression$1;
2356
+ interface TSTypeReference$1 extends Span$1 {
2357
+ type: "TSTypeReference";
2358
+ typeName: TSTypeName;
2359
+ typeArguments: TSTypeParameterInstantiation$1 | null;
2360
+ parent?: Node$1;
2361
+ }
2362
+ type TSTypeName = IdentifierReference$1 | TSQualifiedName$1 | ThisExpression$1;
2363
+ interface TSQualifiedName$1 extends Span$1 {
2364
+ type: "TSQualifiedName";
2365
+ left: TSTypeName;
2366
+ right: IdentifierName$1;
2430
2367
  parent?: Node$1;
2431
2368
  }
2432
- declare interface TSNullKeyword extends Span$1 {
2433
- type: "TSNullKeyword";
2369
+ interface TSTypeParameterInstantiation$1 extends Span$1 {
2370
+ type: "TSTypeParameterInstantiation";
2371
+ params: Array<TSType$1>;
2434
2372
  parent?: Node$1;
2435
2373
  }
2436
- declare interface TSNumberKeyword extends Span$1 {
2437
- type: "TSNumberKeyword";
2374
+ interface TSTypeParameter extends Span$1 {
2375
+ type: "TSTypeParameter";
2376
+ name: BindingIdentifier$1;
2377
+ constraint: TSType$1 | null;
2378
+ default: TSType$1 | null;
2379
+ in: boolean;
2380
+ out: boolean;
2381
+ const: boolean;
2438
2382
  parent?: Node$1;
2439
2383
  }
2440
- declare interface TSObjectKeyword extends Span$1 {
2441
- type: "TSObjectKeyword";
2384
+ interface TSTypeParameterDeclaration$1 extends Span$1 {
2385
+ type: "TSTypeParameterDeclaration";
2386
+ params: Array<TSTypeParameter>;
2442
2387
  parent?: Node$1;
2443
2388
  }
2444
- declare interface TSOptionalType$1 extends Span$1 {
2445
- type: "TSOptionalType";
2389
+ interface TSTypeAliasDeclaration$1 extends Span$1 {
2390
+ type: "TSTypeAliasDeclaration";
2391
+ id: BindingIdentifier$1;
2392
+ typeParameters: TSTypeParameterDeclaration$1 | null;
2446
2393
  typeAnnotation: TSType$1;
2394
+ declare: boolean;
2447
2395
  parent?: Node$1;
2448
2396
  }
2449
- declare interface TSParameterProperty extends Span$1 {
2450
- type: "TSParameterProperty";
2451
- accessibility: TSAccessibility | null;
2452
- decorators: Array<Decorator$1>;
2453
- override: boolean;
2454
- parameter: FormalParameter;
2455
- readonly: boolean;
2456
- static: boolean;
2397
+ type TSAccessibility = "private" | "protected" | "public";
2398
+ interface TSClassImplements extends Span$1 {
2399
+ type: "TSClassImplements";
2400
+ expression: IdentifierReference$1 | ThisExpression$1 | MemberExpression$1;
2401
+ typeArguments: TSTypeParameterInstantiation$1 | null;
2457
2402
  parent?: Node$1;
2458
2403
  }
2459
- declare interface TSParenthesizedType$1 extends Span$1 {
2460
- type: "TSParenthesizedType";
2461
- typeAnnotation: TSType$1;
2404
+ interface TSInterfaceDeclaration$1 extends Span$1 {
2405
+ type: "TSInterfaceDeclaration";
2406
+ id: BindingIdentifier$1;
2407
+ typeParameters: TSTypeParameterDeclaration$1 | null;
2408
+ extends: Array<TSInterfaceHeritage>;
2409
+ body: TSInterfaceBody$1;
2410
+ declare: boolean;
2411
+ parent?: Node$1;
2412
+ }
2413
+ interface TSInterfaceBody$1 extends Span$1 {
2414
+ type: "TSInterfaceBody";
2415
+ body: Array<TSSignature>;
2462
2416
  parent?: Node$1;
2463
2417
  }
2464
- declare interface TSPropertySignature$1 extends Span$1 {
2418
+ interface TSPropertySignature$1 extends Span$1 {
2465
2419
  type: "TSPropertySignature";
2466
2420
  computed: boolean;
2467
2421
  optional: boolean;
2468
2422
  readonly: boolean;
2469
- key: PropertyKey_2;
2423
+ key: PropertyKey$1;
2470
2424
  typeAnnotation: TSTypeAnnotation$1 | null;
2471
2425
  accessibility: null;
2472
2426
  static: false;
2473
2427
  parent?: Node$1;
2474
2428
  }
2475
- declare interface TSQualifiedName$1 extends Span$1 {
2476
- type: "TSQualifiedName";
2477
- left: TSTypeName;
2478
- right: IdentifierName$1;
2479
- parent?: Node$1;
2480
- }
2481
- declare interface TSRestType$1 extends Span$1 {
2482
- type: "TSRestType";
2483
- typeAnnotation: TSType$1;
2484
- parent?: Node$1;
2485
- }
2486
- declare interface TSSatisfiesExpression$1 extends Span$1 {
2487
- type: "TSSatisfiesExpression";
2488
- expression: Expression$1;
2489
- typeAnnotation: TSType$1;
2429
+ type TSSignature = TSIndexSignature$1 | TSPropertySignature$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSMethodSignature$1;
2430
+ interface TSIndexSignature$1 extends Span$1 {
2431
+ type: "TSIndexSignature";
2432
+ parameters: Array<TSIndexSignatureName>;
2433
+ typeAnnotation: TSTypeAnnotation$1;
2434
+ readonly: boolean;
2435
+ static: boolean;
2436
+ accessibility: null;
2490
2437
  parent?: Node$1;
2491
2438
  }
2492
- declare type TSSignature = TSIndexSignature$1 | TSPropertySignature$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSMethodSignature$1;
2493
- declare interface TSStringKeyword extends Span$1 {
2494
- type: "TSStringKeyword";
2439
+ interface TSCallSignatureDeclaration$1 extends Span$1 {
2440
+ type: "TSCallSignatureDeclaration";
2441
+ typeParameters: TSTypeParameterDeclaration$1 | null;
2442
+ params: ParamPattern$1[];
2443
+ returnType: TSTypeAnnotation$1 | null;
2495
2444
  parent?: Node$1;
2496
2445
  }
2497
- declare interface TSSymbolKeyword extends Span$1 {
2498
- type: "TSSymbolKeyword";
2446
+ type TSMethodSignatureKind = "method" | "get" | "set";
2447
+ interface TSMethodSignature$1 extends Span$1 {
2448
+ type: "TSMethodSignature";
2449
+ key: PropertyKey$1;
2450
+ computed: boolean;
2451
+ optional: boolean;
2452
+ kind: TSMethodSignatureKind;
2453
+ typeParameters: TSTypeParameterDeclaration$1 | null;
2454
+ params: ParamPattern$1[];
2455
+ returnType: TSTypeAnnotation$1 | null;
2456
+ accessibility: null;
2457
+ readonly: false;
2458
+ static: false;
2499
2459
  parent?: Node$1;
2500
2460
  }
2501
- declare interface TSTemplateLiteralType$1 extends Span$1 {
2502
- type: "TSTemplateLiteralType";
2503
- quasis: Array<TemplateElement$1>;
2504
- types: Array<TSType$1>;
2461
+ interface TSConstructSignatureDeclaration$1 extends Span$1 {
2462
+ type: "TSConstructSignatureDeclaration";
2463
+ typeParameters: TSTypeParameterDeclaration$1 | null;
2464
+ params: ParamPattern$1[];
2465
+ returnType: TSTypeAnnotation$1 | null;
2505
2466
  parent?: Node$1;
2506
2467
  }
2507
- declare interface TSThisParameter extends Span$1 {
2468
+ interface TSIndexSignatureName extends Span$1 {
2508
2469
  type: "Identifier";
2509
2470
  decorators: [];
2510
- name: "this";
2471
+ name: string;
2511
2472
  optional: false;
2512
- typeAnnotation: TSTypeAnnotation$1 | null;
2473
+ typeAnnotation: TSTypeAnnotation$1;
2513
2474
  parent?: Node$1;
2514
2475
  }
2515
- declare interface TSThisType extends Span$1 {
2516
- type: "TSThisType";
2476
+ interface TSInterfaceHeritage extends Span$1 {
2477
+ type: "TSInterfaceHeritage";
2478
+ expression: Expression$1;
2479
+ typeArguments: TSTypeParameterInstantiation$1 | null;
2517
2480
  parent?: Node$1;
2518
2481
  }
2519
- declare type TSTupleElement = TSOptionalType$1 | TSRestType$1 | TSType$1;
2520
- declare interface TSTupleType$1 extends Span$1 {
2521
- type: "TSTupleType";
2522
- elementTypes: Array<TSTupleElement>;
2482
+ interface TSTypePredicate$1 extends Span$1 {
2483
+ type: "TSTypePredicate";
2484
+ parameterName: TSTypePredicateName;
2485
+ asserts: boolean;
2486
+ typeAnnotation: TSTypeAnnotation$1 | null;
2523
2487
  parent?: Node$1;
2524
2488
  }
2525
- declare type TSType$1 = TSAnyKeyword | TSBigIntKeyword | TSBooleanKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSArrayType$1 | TSConditionalType$1 | TSConstructorType$1 | TSFunctionType$1 | TSImportType$1 | TSIndexedAccessType$1 | TSInferType$1 | TSIntersectionType$1 | TSLiteralType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSTemplateLiteralType$1 | TSThisType | TSTupleType$1 | TSTypeLiteral | TSTypeOperator$1 | TSTypePredicate$1 | TSTypeQuery$1 | TSTypeReference$1 | TSUnionType$1 | TSParenthesizedType$1 | JSDocNullableType$1 | JSDocNonNullableType$1 | JSDocUnknownType;
2526
- declare interface TSTypeAliasDeclaration$1 extends Span$1 {
2527
- type: "TSTypeAliasDeclaration";
2528
- id: BindingIdentifier$1;
2529
- typeParameters: TSTypeParameterDeclaration$1 | null;
2530
- typeAnnotation: TSType$1;
2489
+ type TSTypePredicateName = IdentifierName$1 | TSThisType;
2490
+ type TSModuleDeclarationKind = "module" | "namespace";
2491
+ interface TSModuleDeclaration$1 extends Span$1 {
2492
+ type: "TSModuleDeclaration";
2493
+ id: BindingIdentifier$1 | StringLiteral$1 | TSQualifiedName$1;
2494
+ body: TSModuleBlock$1 | null;
2495
+ kind: TSModuleDeclarationKind;
2531
2496
  declare: boolean;
2497
+ global: false;
2532
2498
  parent?: Node$1;
2533
2499
  }
2534
- declare interface TSTypeAnnotation$1 extends Span$1 {
2535
- type: "TSTypeAnnotation";
2536
- typeAnnotation: TSType$1;
2500
+ interface TSGlobalDeclaration extends Span$1 {
2501
+ type: "TSModuleDeclaration";
2502
+ id: IdentifierName$1;
2503
+ body: TSModuleBlock$1;
2504
+ kind: "global";
2505
+ declare: boolean;
2506
+ global: true;
2537
2507
  parent?: Node$1;
2538
2508
  }
2539
- declare interface TSTypeAssertion$1 extends Span$1 {
2540
- type: "TSTypeAssertion";
2541
- typeAnnotation: TSType$1;
2542
- expression: Expression$1;
2509
+ interface TSModuleBlock$1 extends Span$1 {
2510
+ type: "TSModuleBlock";
2511
+ body: Array<Directive | Statement$1>;
2543
2512
  parent?: Node$1;
2544
2513
  }
2545
- declare interface TSTypeLiteral extends Span$1 {
2514
+ interface TSTypeLiteral extends Span$1 {
2546
2515
  type: "TSTypeLiteral";
2547
2516
  members: Array<TSSignature>;
2548
2517
  parent?: Node$1;
2549
2518
  }
2550
- declare type TSTypeName = IdentifierReference$1 | TSQualifiedName$1 | ThisExpression$1;
2551
- declare interface TSTypeOperator$1 extends Span$1 {
2552
- type: "TSTypeOperator";
2553
- operator: TSTypeOperatorOperator;
2554
- typeAnnotation: TSType$1;
2519
+ interface TSInferType$1 extends Span$1 {
2520
+ type: "TSInferType";
2521
+ typeParameter: TSTypeParameter;
2555
2522
  parent?: Node$1;
2556
2523
  }
2557
- declare type TSTypeOperatorOperator = "keyof" | "unique" | "readonly";
2558
- declare interface TSTypeParameter extends Span$1 {
2559
- type: "TSTypeParameter";
2560
- name: BindingIdentifier$1;
2561
- constraint: TSType$1 | null;
2562
- default: TSType$1 | null;
2563
- in: boolean;
2564
- out: boolean;
2565
- const: boolean;
2524
+ interface TSTypeQuery$1 extends Span$1 {
2525
+ type: "TSTypeQuery";
2526
+ exprName: TSTypeQueryExprName;
2527
+ typeArguments: TSTypeParameterInstantiation$1 | null;
2566
2528
  parent?: Node$1;
2567
2529
  }
2568
- declare interface TSTypeParameterDeclaration$1 extends Span$1 {
2569
- type: "TSTypeParameterDeclaration";
2570
- params: Array<TSTypeParameter>;
2530
+ type TSTypeQueryExprName = TSImportType$1 | TSTypeName;
2531
+ interface TSImportType$1 extends Span$1 {
2532
+ type: "TSImportType";
2533
+ source: StringLiteral$1;
2534
+ options: ObjectExpression$1 | null;
2535
+ qualifier: TSImportTypeQualifier | null;
2536
+ typeArguments: TSTypeParameterInstantiation$1 | null;
2571
2537
  parent?: Node$1;
2572
2538
  }
2573
- declare interface TSTypeParameterInstantiation$1 extends Span$1 {
2574
- type: "TSTypeParameterInstantiation";
2575
- params: Array<TSType$1>;
2539
+ type TSImportTypeQualifier = IdentifierName$1 | TSImportTypeQualifiedName;
2540
+ interface TSImportTypeQualifiedName extends Span$1 {
2541
+ type: "TSQualifiedName";
2542
+ left: TSImportTypeQualifier;
2543
+ right: IdentifierName$1;
2576
2544
  parent?: Node$1;
2577
2545
  }
2578
- declare interface TSTypePredicate$1 extends Span$1 {
2579
- type: "TSTypePredicate";
2580
- parameterName: TSTypePredicateName;
2581
- asserts: boolean;
2582
- typeAnnotation: TSTypeAnnotation$1 | null;
2546
+ interface TSFunctionType$1 extends Span$1 {
2547
+ type: "TSFunctionType";
2548
+ typeParameters: TSTypeParameterDeclaration$1 | null;
2549
+ params: ParamPattern$1[];
2550
+ returnType: TSTypeAnnotation$1;
2583
2551
  parent?: Node$1;
2584
2552
  }
2585
- declare type TSTypePredicateName = IdentifierName$1 | TSThisType;
2586
- declare interface TSTypeQuery$1 extends Span$1 {
2587
- type: "TSTypeQuery";
2588
- exprName: TSTypeQueryExprName;
2589
- typeArguments: TSTypeParameterInstantiation$1 | null;
2553
+ interface TSConstructorType$1 extends Span$1 {
2554
+ type: "TSConstructorType";
2555
+ abstract: boolean;
2556
+ typeParameters: TSTypeParameterDeclaration$1 | null;
2557
+ params: ParamPattern$1[];
2558
+ returnType: TSTypeAnnotation$1;
2590
2559
  parent?: Node$1;
2591
2560
  }
2592
- declare type TSTypeQueryExprName = TSImportType$1 | TSTypeName;
2593
- declare interface TSTypeReference$1 extends Span$1 {
2594
- type: "TSTypeReference";
2595
- typeName: TSTypeName;
2596
- typeArguments: TSTypeParameterInstantiation$1 | null;
2561
+ interface TSMappedType$1 extends Span$1 {
2562
+ type: "TSMappedType";
2563
+ key: BindingIdentifier$1;
2564
+ constraint: TSType$1;
2565
+ nameType: TSType$1 | null;
2566
+ typeAnnotation: TSType$1 | null;
2567
+ optional: TSMappedTypeModifierOperator | false;
2568
+ readonly: TSMappedTypeModifierOperator | null;
2597
2569
  parent?: Node$1;
2598
2570
  }
2599
- declare interface TSUndefinedKeyword extends Span$1 {
2600
- type: "TSUndefinedKeyword";
2571
+ type TSMappedTypeModifierOperator = true | "+" | "-";
2572
+ interface TSTemplateLiteralType$1 extends Span$1 {
2573
+ type: "TSTemplateLiteralType";
2574
+ quasis: Array<TemplateElement$1>;
2575
+ types: Array<TSType$1>;
2601
2576
  parent?: Node$1;
2602
2577
  }
2603
- declare interface TSUnionType$1 extends Span$1 {
2604
- type: "TSUnionType";
2605
- types: Array<TSType$1>;
2578
+ interface TSAsExpression$1 extends Span$1 {
2579
+ type: "TSAsExpression";
2580
+ expression: Expression$1;
2581
+ typeAnnotation: TSType$1;
2606
2582
  parent?: Node$1;
2607
2583
  }
2608
- declare interface TSUnknownKeyword extends Span$1 {
2609
- type: "TSUnknownKeyword";
2584
+ interface TSSatisfiesExpression$1 extends Span$1 {
2585
+ type: "TSSatisfiesExpression";
2586
+ expression: Expression$1;
2587
+ typeAnnotation: TSType$1;
2610
2588
  parent?: Node$1;
2611
2589
  }
2612
- declare interface TSVoidKeyword extends Span$1 {
2613
- type: "TSVoidKeyword";
2590
+ interface TSTypeAssertion$1 extends Span$1 {
2591
+ type: "TSTypeAssertion";
2592
+ typeAnnotation: TSType$1;
2593
+ expression: Expression$1;
2614
2594
  parent?: Node$1;
2615
2595
  }
2616
- declare interface UnaryExpression$1 extends Span$1 {
2617
- type: "UnaryExpression";
2618
- operator: UnaryOperator;
2619
- argument: Expression$1;
2620
- prefix: true;
2596
+ interface TSImportEqualsDeclaration$1 extends Span$1 {
2597
+ type: "TSImportEqualsDeclaration";
2598
+ id: BindingIdentifier$1;
2599
+ moduleReference: TSModuleReference;
2600
+ importKind: ImportOrExportKind;
2621
2601
  parent?: Node$1;
2622
2602
  }
2623
- declare type UnaryOperator = "+" | "-" | "!" | "~" | "typeof" | "void" | "delete";
2624
- declare interface UpdateExpression$1 extends Span$1 {
2625
- type: "UpdateExpression";
2626
- operator: UpdateOperator;
2627
- prefix: boolean;
2628
- argument: SimpleAssignmentTarget$1;
2603
+ type TSModuleReference = TSExternalModuleReference | IdentifierReference$1 | TSQualifiedName$1;
2604
+ interface TSExternalModuleReference extends Span$1 {
2605
+ type: "TSExternalModuleReference";
2606
+ expression: StringLiteral$1;
2629
2607
  parent?: Node$1;
2630
2608
  }
2631
- declare type UpdateOperator = "++" | "--";
2632
- declare interface V8IntrinsicExpression extends Span$1 {
2633
- type: "V8IntrinsicExpression";
2634
- name: IdentifierName$1;
2635
- arguments: Array<Argument$1>;
2609
+ interface TSNonNullExpression$1 extends Span$1 {
2610
+ type: "TSNonNullExpression";
2611
+ expression: Expression$1;
2636
2612
  parent?: Node$1;
2637
2613
  }
2638
- declare interface VariableDeclaration$1 extends Span$1 {
2639
- type: "VariableDeclaration";
2640
- kind: VariableDeclarationKind;
2641
- declarations: Array<VariableDeclarator$1>;
2642
- declare?: boolean;
2614
+ interface Decorator$1 extends Span$1 {
2615
+ type: "Decorator";
2616
+ expression: Expression$1;
2643
2617
  parent?: Node$1;
2644
2618
  }
2645
- declare type VariableDeclarationKind = "var" | "let" | "const" | "using" | "await using";
2646
- declare interface VariableDeclarator$1 extends Span$1 {
2647
- type: "VariableDeclarator";
2648
- id: BindingPattern$1;
2649
- init: Expression$1 | null;
2650
- definite?: boolean;
2619
+ interface TSExportAssignment$1 extends Span$1 {
2620
+ type: "TSExportAssignment";
2621
+ expression: Expression$1;
2651
2622
  parent?: Node$1;
2652
2623
  }
2653
- declare interface WhileStatement$1 extends Span$1 {
2654
- type: "WhileStatement";
2655
- test: Expression$1;
2656
- body: Statement$1;
2624
+ interface TSNamespaceExportDeclaration$1 extends Span$1 {
2625
+ type: "TSNamespaceExportDeclaration";
2626
+ id: IdentifierName$1;
2657
2627
  parent?: Node$1;
2658
2628
  }
2659
- declare interface WithStatement$1 extends Span$1 {
2660
- type: "WithStatement";
2661
- object: Expression$1;
2662
- body: Statement$1;
2629
+ interface TSInstantiationExpression$1 extends Span$1 {
2630
+ type: "TSInstantiationExpression";
2631
+ expression: Expression$1;
2632
+ typeArguments: TSTypeParameterInstantiation$1;
2663
2633
  parent?: Node$1;
2664
2634
  }
2665
- declare interface YieldExpression$1 extends Span$1 {
2666
- type: "YieldExpression";
2667
- delegate: boolean;
2668
- argument: Expression$1 | null;
2635
+ type ImportOrExportKind = "value" | "type";
2636
+ interface JSDocNullableType$1 extends Span$1 {
2637
+ type: "TSJSDocNullableType";
2638
+ typeAnnotation: TSType$1;
2639
+ postfix: boolean;
2640
+ parent?: Node$1;
2641
+ }
2642
+ interface JSDocNonNullableType$1 extends Span$1 {
2643
+ type: "TSJSDocNonNullableType";
2644
+ typeAnnotation: TSType$1;
2645
+ postfix: boolean;
2646
+ parent?: Node$1;
2647
+ }
2648
+ interface JSDocUnknownType extends Span$1 {
2649
+ type: "TSJSDocUnknownType";
2669
2650
  parent?: Node$1;
2670
2651
  }
2652
+ type ModuleKind = "script" | "module" | "commonjs";
2653
+ interface Span$1 {
2654
+ start: number;
2655
+ end: number;
2656
+ range?: [number, number];
2657
+ }
2658
+ type AssignmentOperator = "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "**=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "||=" | "&&=" | "??=";
2659
+ type BinaryOperator = "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "+" | "-" | "*" | "/" | "%" | "**" | "<<" | ">>" | ">>>" | "|" | "^" | "&" | "in" | "instanceof";
2660
+ type LogicalOperator = "||" | "&&" | "??";
2661
+ type UnaryOperator = "+" | "-" | "!" | "~" | "typeof" | "void" | "delete";
2662
+ type UpdateOperator = "++" | "--";
2663
+ type Node$1 = Program$1 | IdentifierName$1 | IdentifierReference$1 | BindingIdentifier$1 | LabelIdentifier$1 | ThisExpression$1 | ArrayExpression$1 | ObjectExpression$1 | ObjectProperty$1 | TemplateLiteral$1 | TaggedTemplateExpression$1 | TemplateElement$1 | ComputedMemberExpression | StaticMemberExpression$1 | PrivateFieldExpression | CallExpression$1 | NewExpression$1 | MetaProperty$1 | SpreadElement$1 | UpdateExpression$1 | UnaryExpression$1 | BinaryExpression$1 | PrivateInExpression$1 | LogicalExpression$1 | ConditionalExpression$1 | AssignmentExpression$1 | ArrayAssignmentTarget | ObjectAssignmentTarget | AssignmentTargetRest | AssignmentTargetWithDefault | AssignmentTargetPropertyIdentifier | AssignmentTargetPropertyProperty | SequenceExpression$1 | Super$1 | AwaitExpression | ChainExpression$1 | ParenthesizedExpression | Directive | Hashbang | BlockStatement$1 | VariableDeclaration$1 | VariableDeclarator$1 | EmptyStatement$1 | ExpressionStatement$1 | IfStatement$1 | DoWhileStatement$1 | WhileStatement$1 | ForStatement$1 | ForInStatement$1 | ForOfStatement$1 | ContinueStatement$1 | BreakStatement$1 | ReturnStatement$1 | WithStatement$1 | SwitchStatement$1 | SwitchCase$1 | LabeledStatement$1 | ThrowStatement$1 | TryStatement$1 | CatchClause$1 | DebuggerStatement | AssignmentPattern$1 | ObjectPattern | BindingProperty$1 | ArrayPattern$1 | BindingRestElement$1 | Function$1 | FunctionBody | ArrowFunctionExpression$1 | YieldExpression$1 | Class$1 | ClassBody$1 | MethodDefinition$1 | PropertyDefinition$1 | PrivateIdentifier$1 | StaticBlock$1 | AccessorProperty$1 | ImportExpression$1 | ImportDeclaration$1 | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportAttribute$1 | ExportNamedDeclaration$1 | ExportDefaultDeclaration$1 | ExportAllDeclaration$1 | ExportSpecifier | V8IntrinsicExpression | BooleanLiteral$1 | NullLiteral$1 | NumericLiteral$1 | StringLiteral$1 | BigIntLiteral$1 | RegExpLiteral$1 | JSXElement$1 | JSXOpeningElement$1 | JSXClosingElement | JSXFragment$1 | JSXOpeningFragment | JSXClosingFragment | JSXNamespacedName$1 | JSXMemberExpression$1 | JSXExpressionContainer$1 | JSXEmptyExpression | JSXAttribute$1 | JSXSpreadAttribute$1 | JSXIdentifier$1 | JSXSpreadChild$1 | JSXText$1 | TSThisParameter | TSEnumDeclaration$1 | TSEnumBody | TSEnumMember | TSTypeAnnotation$1 | TSLiteralType$1 | TSConditionalType$1 | TSUnionType$1 | TSIntersectionType$1 | TSParenthesizedType$1 | TSTypeOperator$1 | TSArrayType$1 | TSIndexedAccessType$1 | TSTupleType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSRestType$1 | TSAnyKeyword | TSStringKeyword | TSBooleanKeyword | TSNumberKeyword | TSNeverKeyword | TSIntrinsicKeyword | TSUnknownKeyword | TSNullKeyword | TSUndefinedKeyword | TSVoidKeyword | TSSymbolKeyword | TSThisType | TSObjectKeyword | TSBigIntKeyword | TSTypeReference$1 | TSQualifiedName$1 | TSTypeParameterInstantiation$1 | TSTypeParameter | TSTypeParameterDeclaration$1 | TSTypeAliasDeclaration$1 | TSClassImplements | TSInterfaceDeclaration$1 | TSInterfaceBody$1 | TSPropertySignature$1 | TSIndexSignature$1 | TSCallSignatureDeclaration$1 | TSMethodSignature$1 | TSConstructSignatureDeclaration$1 | TSIndexSignatureName | TSInterfaceHeritage | TSTypePredicate$1 | TSModuleDeclaration$1 | TSGlobalDeclaration | TSModuleBlock$1 | TSTypeLiteral | TSInferType$1 | TSTypeQuery$1 | TSImportType$1 | TSImportTypeQualifiedName | TSFunctionType$1 | TSConstructorType$1 | TSMappedType$1 | TSTemplateLiteralType$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TSImportEqualsDeclaration$1 | TSExternalModuleReference | TSNonNullExpression$1 | Decorator$1 | TSExportAssignment$1 | TSNamespaceExportDeclaration$1 | TSInstantiationExpression$1 | JSDocNullableType$1 | JSDocNonNullableType$1 | JSDocUnknownType | ParamPattern$1;
2664
+ //#endregion
2665
+ //#region src/node.d.ts
2666
+ type Simplify<T> = { [K in keyof T]: T[K]; } & {};
2667
+ type Built<T> = T extends null | undefined ? T : T extends readonly unknown[] ? (number extends T['length'] ? Array<Built<T[number]>> : T) : T extends Span$1 ? { [K in keyof T as K extends keyof Span$1 ? never : K]: Child<T[K]>; } & Partial<Pick<T, keyof Span$1>> : T;
2668
+ type Child<T> = T extends null | undefined ? T : T extends readonly unknown[] ? (number extends T['length'] ? Array<Child<T[number]>> : T) : T extends Span$1 ? Built<T> | T : T;
2669
+ type Program = Simplify<Built<Program$1>>;
2670
+ type Node = Simplify<Built<Node$1>> | Node$1;
2671
+ //#endregion
2672
+ //#region src/ignorer.d.ts
2673
+ interface Ignorer {
2674
+ readonly name: string;
2675
+ shouldIgnore(node: Node, ancestors: readonly Node[]): string | undefined;
2676
+ }
2671
2677
  //#endregion
2672
2678
  //#region src/Location.schema.d.ts
2673
2679
  /**
@@ -2983,12 +2989,12 @@ interface PrinterContext {
2983
2989
  interface Mutable {
2984
2990
  mutatorName: string;
2985
2991
  ignoreReason?: string | undefined;
2986
- replacement: Node_2;
2992
+ replacement: Node;
2987
2993
  }
2988
2994
  interface Mutant extends Mutable {
2989
2995
  readonly id: string;
2990
2996
  readonly fileName: string;
2991
- readonly original: Node_2;
2997
+ readonly original: Node;
2992
2998
  readonly location: Location;
2993
2999
  readonly replacementCode: string;
2994
3000
  }
@@ -3556,6 +3562,13 @@ declare const UntestedStatus: S.Union<readonly [S.Literal<"Ignored">, S.Literal<
3556
3562
  declare const NonNegativeInt: S.Int;
3557
3563
  declare const NonNegativeFinite: S.Finite;
3558
3564
  declare const Percentage: S.Finite;
3565
+ declare const MutationScore: S.TaggedUnion<{
3566
+ readonly Scored: S.TaggedStruct<"Scored", {
3567
+ readonly percentage: S.Finite;
3568
+ }>;
3569
+ readonly Unscored: S.TaggedStruct<"Unscored", {}>;
3570
+ }>;
3571
+ type MutationScore = typeof MutationScore.Type;
3559
3572
  declare const Metrics_base: S.Class<Metrics, S.Struct<{
3560
3573
  readonly pending: S.Int;
3561
3574
  readonly killed: S.Int;
@@ -3573,8 +3586,8 @@ declare class Metrics extends Metrics_base {
3573
3586
  get totalValid(): number;
3574
3587
  get totalInvalid(): number;
3575
3588
  get totalMutants(): number;
3576
- get mutationScore(): number;
3577
- get mutationScoreBasedOnCoveredCode(): number;
3589
+ get mutationScore(): MutationScore;
3590
+ get mutationScoreBasedOnCoveredCode(): MutationScore;
3578
3591
  static fromMutants(mutants: readonly {
3579
3592
  readonly status: string;
3580
3593
  }[]): Metrics;
@@ -4054,7 +4067,7 @@ declare namespace mod_d_exports$3 {
4054
4067
  export { BoundaryError, BoundaryErrorSchema, BoundaryPayloadRejected, BoundaryUnrecognizedSignal, CheckerCheckResult, CheckerGroupResult, CheckerRequest, CheckerRpcs, ExitClass, ExitCodeFromClass, ReporterAck, ReporterDrained, ReporterEventBatch, ReporterInitOptions, ReporterRpcs, TestRunnerDryRunRequest, TestRunnerMutantRunRequest, TestRunnerRpcs, WorkerEntryUrl, WorkerPluginKind, WorkerPluginSpawn, WorkerPluginSpawnSchema };
4055
4068
  }
4056
4069
  declare namespace mod_d_exports$4 {
4057
- export { BrandingInformation, BrandingInformationSchema, Dependencies, DependenciesSchema, DetectedStatus, FileResult, FileResultDictionary, FileResultDictionarySchema, FileResultSchema, FrameworkInformation, FrameworkInformationSchema, InvalidStatus, Metrics, MetricsResult, MetricsResultEncoded, MetricsResultSchema, MetricsSchema, MutantResult, MutantResultSchema, MutationTestResult, MutationTestResultSchema, NonNegativeFinite, NonNegativeInt, Percentage, TestDefinition, TestDefinitionSchema, TestFile, TestFileDefinitionDictionary, TestFileDefinitionDictionarySchema, TestFileSchema, Thresholds, ThresholdsSchema, UndetectedStatus, UntestedStatus };
4070
+ export { BrandingInformation, BrandingInformationSchema, Dependencies, DependenciesSchema, DetectedStatus, FileResult, FileResultDictionary, FileResultDictionarySchema, FileResultSchema, FrameworkInformation, FrameworkInformationSchema, InvalidStatus, Metrics, MetricsResult, MetricsResultEncoded, MetricsResultSchema, MetricsSchema, MutantResult, MutantResultSchema, MutationScore, MutationTestResult, MutationTestResultSchema, NonNegativeFinite, NonNegativeInt, Percentage, TestDefinition, TestDefinitionSchema, TestFile, TestFileDefinitionDictionary, TestFileDefinitionDictionarySchema, TestFileSchema, Thresholds, ThresholdsSchema, UndetectedStatus, UntestedStatus };
4058
4071
  }
4059
4072
  declare namespace mod_d_exports$5 {
4060
4073
  export { DryRunCompleted, MutantTested, MutationTestReportReady, MutationTestingPlanReady, ReporterEvent, ReporterEventKind, ReporterEventSchema, ReporterEventUnion, ReporterFactory, ReporterFailed, ReporterInit, ReporterPlanDescriptor, ReporterPlanDescriptorSchema, ReporterPlanKind, RunTiming, RunTimingSchema };
@@ -4083,4 +4096,4 @@ declare namespace mod_d_exports$6 {
4083
4096
  export { BaseTestResult, CompleteDryRunResult, CoverageAnalysis, CoverageAnalysisSchema, DryRunOptions, DryRunOptionsSchema, DryRunResult, DryRunResultSchema, DryRunStatus, ErrorDryRunResult, ErrorMutantRunResult, FailedTestResult, HitLimitReason, HitLimitReasonPrefix, HitLimitReasonText, KilledMutantRunResult, MutantCoverageSchema, MutantRunResult, MutantRunResultSchema, MutantRunStatus, SkippedTestResult, SuccessTestResult, SurvivedMutantRunResult, TestResult, TestResultSchema, TestRunner, TestRunnerCapabilities, TestRunnerCapabilitiesSchema, TestRunnerFailed, TestRunnerService, TestStatus, TimeoutDryRunResult, TimeoutMutantRunResult, WallClockTimeoutReason };
4084
4097
  }
4085
4098
  //#endregion
4086
- export { mod_d_exports$5 as a, mod_d_exports$2$1 as c, Ignorer$1 as d, Node_2$1 as f, mod_d_exports$4 as i, mod_d_exports$3$1 as l, mod_d_exports$2 as n, mod_d_exports$6 as o, mod_d_exports$3 as r, mod_d_exports$1 as s, mod_d_exports as t, Framework as u };
4099
+ export { mod_d_exports$5 as a, mod_d_exports$2$1 as c, Ignorer$1 as d, Node_2 as f, mod_d_exports$4 as i, mod_d_exports$3$1 as l, mod_d_exports$2 as n, mod_d_exports$6 as o, mod_d_exports$3 as r, mod_d_exports$1 as s, mod_d_exports as t, Framework as u };