@systemfsoftware/stryker-js 17.0.2 → 22.0.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.
@@ -1,9 +1,9 @@
1
1
  import * as S from "effect/Schema";
2
- import * as Option$1 from "effect/Option";
3
- import * as Order from "effect/Order";
4
- import * as Context from "effect/Context";
5
2
  import { Schema } from "effect";
6
3
  import * as Effect$1 from "effect/Effect";
4
+ import * as Option$1 from "effect/Option";
5
+ import * as Order$1 from "effect/Order";
6
+ import * as Context from "effect/Context";
7
7
  import * as Rpc from "effect/rpc/Rpc";
8
8
  import * as RpcGroup from "effect/rpc/RpcGroup";
9
9
  import * as RpcMiddleware from "effect/rpc/RpcMiddleware";
@@ -12,80 +12,241 @@ import * as HashMap from "effect/HashMap";
12
12
  import { StandardSchemaV1 } from "effect/StandardSchema";
13
13
  import * as RpcSchema from "effect/rpc/RpcSchema";
14
14
  //#region ../ignorers/interface/dist/index.d.ts
15
- declare interface AccessorProperty$1 extends Span$1 {
16
- type: AccessorPropertyType;
17
- decorators: Array<Decorator$1>;
18
- key: PropertyKey_2;
19
- typeAnnotation?: TSTypeAnnotation$1 | null;
20
- value: Expression$1 | null;
21
- computed: boolean;
22
- static: boolean;
23
- override?: boolean;
24
- definite?: boolean;
25
- accessibility?: TSAccessibility | null;
26
- declare?: false;
15
+ // Auto-generated code, DO NOT EDIT DIRECTLY!
16
+ // To edit this generated file you have to edit `tasks/ast_tools/src/generators/typescript.rs`.
17
+ interface Program$1 extends Span$1 {
18
+ type: "Program";
19
+ body: Array<Directive | Statement$1>;
20
+ sourceType: ModuleKind;
21
+ hashbang: Hashbang | null;
22
+ parent?: null;
23
+ }
24
+ 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;
25
+ interface IdentifierName$1 extends Span$1 {
26
+ type: "Identifier";
27
+ decorators?: [];
28
+ name: string;
27
29
  optional?: false;
28
- readonly?: false;
30
+ typeAnnotation?: null;
29
31
  parent?: Node$1;
30
32
  }
31
- declare type AccessorPropertyType = "AccessorProperty" | "TSAbstractAccessorProperty";
32
- declare type Argument$1 = SpreadElement$1 | Expression$1;
33
- declare interface ArrayAssignmentTarget extends Span$1 {
34
- type: "ArrayPattern";
33
+ interface IdentifierReference$1 extends Span$1 {
34
+ type: "Identifier";
35
35
  decorators?: [];
36
- elements: Array<AssignmentTargetMaybeDefault | AssignmentTargetRest | null>;
36
+ name: string;
37
+ optional?: false;
38
+ typeAnnotation?: null;
39
+ parent?: Node$1;
40
+ }
41
+ interface BindingIdentifier$1 extends Span$1 {
42
+ type: "Identifier";
43
+ decorators?: [];
44
+ name: string;
45
+ optional?: false;
46
+ typeAnnotation?: TSTypeAnnotation$1 | null;
47
+ parent?: Node$1;
48
+ }
49
+ interface LabelIdentifier$1 extends Span$1 {
50
+ type: "Identifier";
51
+ decorators?: [];
52
+ name: string;
37
53
  optional?: false;
38
54
  typeAnnotation?: null;
39
55
  parent?: Node$1;
40
56
  }
41
- declare interface ArrayExpression$1 extends Span$1 {
57
+ interface ThisExpression$1 extends Span$1 {
58
+ type: "ThisExpression";
59
+ parent?: Node$1;
60
+ }
61
+ interface ArrayExpression$1 extends Span$1 {
42
62
  type: "ArrayExpression";
43
63
  elements: Array<ArrayExpressionElement>;
44
64
  parent?: Node$1;
45
65
  }
46
- declare type ArrayExpressionElement = SpreadElement$1 | null | Expression$1;
47
- declare interface ArrayPattern$1 extends Span$1 {
48
- type: "ArrayPattern";
49
- decorators?: [];
50
- elements: Array<BindingPattern$1 | BindingRestElement$1 | null>;
66
+ type ArrayExpressionElement = SpreadElement$1 | null | Expression$1;
67
+ interface ObjectExpression$1 extends Span$1 {
68
+ type: "ObjectExpression";
69
+ properties: Array<ObjectPropertyKind>;
70
+ parent?: Node$1;
71
+ }
72
+ type ObjectPropertyKind = ObjectProperty$1 | SpreadElement$1;
73
+ interface ObjectProperty$1 extends Span$1 {
74
+ type: "Property";
75
+ kind: PropertyKind;
76
+ key: PropertyKey;
77
+ value: Expression$1;
78
+ method: boolean;
79
+ shorthand: boolean;
80
+ computed: boolean;
51
81
  optional?: false;
52
- typeAnnotation?: TSTypeAnnotation$1 | null;
53
82
  parent?: Node$1;
54
83
  }
55
- declare interface ArrowFunctionExpression$1 extends Span$1 {
56
- type: "ArrowFunctionExpression";
57
- expression: boolean;
58
- async: boolean;
59
- typeParameters?: TSTypeParameterDeclaration$1 | null;
60
- params: ParamPattern$1[];
61
- returnType?: TSTypeAnnotation$1 | null;
62
- body: FunctionBody | Expression$1;
63
- id: null;
64
- generator: false;
84
+ type PropertyKey = IdentifierName$1 | PrivateIdentifier$1 | Expression$1;
85
+ type PropertyKind = "init" | "get" | "set";
86
+ interface TemplateLiteral$1 extends Span$1 {
87
+ type: "TemplateLiteral";
88
+ quasis: Array<TemplateElement$1>;
89
+ expressions: Array<Expression$1>;
90
+ parent?: Node$1;
91
+ }
92
+ interface TaggedTemplateExpression$1 extends Span$1 {
93
+ type: "TaggedTemplateExpression";
94
+ tag: Expression$1;
95
+ typeArguments?: TSTypeParameterInstantiation$1 | null;
96
+ quasi: TemplateLiteral$1;
97
+ parent?: Node$1;
98
+ }
99
+ interface TemplateElement$1 extends Span$1 {
100
+ type: "TemplateElement";
101
+ value: TemplateElementValue;
102
+ tail: boolean;
103
+ parent?: Node$1;
104
+ }
105
+ interface TemplateElementValue {
106
+ raw: string;
107
+ cooked: string | null;
108
+ }
109
+ type MemberExpression$1 = ComputedMemberExpression | StaticMemberExpression$1 | PrivateFieldExpression;
110
+ interface ComputedMemberExpression extends Span$1 {
111
+ type: "MemberExpression";
112
+ object: Expression$1;
113
+ property: Expression$1;
114
+ optional: boolean;
115
+ computed: true;
116
+ parent?: Node$1;
117
+ }
118
+ interface StaticMemberExpression$1 extends Span$1 {
119
+ type: "MemberExpression";
120
+ object: Expression$1;
121
+ property: IdentifierName$1;
122
+ optional: boolean;
123
+ computed: false;
124
+ parent?: Node$1;
125
+ }
126
+ interface PrivateFieldExpression extends Span$1 {
127
+ type: "MemberExpression";
128
+ object: Expression$1;
129
+ property: PrivateIdentifier$1;
130
+ optional: boolean;
131
+ computed: false;
132
+ parent?: Node$1;
133
+ }
134
+ interface CallExpression$1 extends Span$1 {
135
+ type: "CallExpression";
136
+ callee: Expression$1;
137
+ typeArguments?: TSTypeParameterInstantiation$1 | null;
138
+ arguments: Array<Argument$1>;
139
+ optional: boolean;
140
+ parent?: Node$1;
141
+ }
142
+ interface NewExpression$1 extends Span$1 {
143
+ type: "NewExpression";
144
+ callee: Expression$1;
145
+ typeArguments?: TSTypeParameterInstantiation$1 | null;
146
+ arguments: Array<Argument$1>;
147
+ parent?: Node$1;
148
+ }
149
+ interface MetaProperty$1 extends Span$1 {
150
+ type: "MetaProperty";
151
+ meta: IdentifierName$1;
152
+ property: IdentifierName$1;
153
+ parent?: Node$1;
154
+ }
155
+ interface SpreadElement$1 extends Span$1 {
156
+ type: "SpreadElement";
157
+ argument: Expression$1;
158
+ parent?: Node$1;
159
+ }
160
+ type Argument$1 = SpreadElement$1 | Expression$1;
161
+ interface UpdateExpression$1 extends Span$1 {
162
+ type: "UpdateExpression";
163
+ operator: UpdateOperator;
164
+ prefix: boolean;
165
+ argument: SimpleAssignmentTarget$1;
166
+ parent?: Node$1;
167
+ }
168
+ interface UnaryExpression$1 extends Span$1 {
169
+ type: "UnaryExpression";
170
+ operator: UnaryOperator;
171
+ argument: Expression$1;
172
+ prefix: true;
173
+ parent?: Node$1;
174
+ }
175
+ interface BinaryExpression$1 extends Span$1 {
176
+ type: "BinaryExpression";
177
+ left: Expression$1;
178
+ operator: BinaryOperator;
179
+ right: Expression$1;
180
+ parent?: Node$1;
181
+ }
182
+ interface PrivateInExpression$1 extends Span$1 {
183
+ type: "BinaryExpression";
184
+ left: PrivateIdentifier$1;
185
+ operator: "in";
186
+ right: Expression$1;
187
+ parent?: Node$1;
188
+ }
189
+ interface LogicalExpression$1 extends Span$1 {
190
+ type: "LogicalExpression";
191
+ left: Expression$1;
192
+ operator: LogicalOperator;
193
+ right: Expression$1;
194
+ parent?: Node$1;
195
+ }
196
+ interface ConditionalExpression$1 extends Span$1 {
197
+ type: "ConditionalExpression";
198
+ test: Expression$1;
199
+ consequent: Expression$1;
200
+ alternate: Expression$1;
65
201
  parent?: Node$1;
66
202
  }
67
- declare interface AssignmentExpression$1 extends Span$1 {
203
+ interface AssignmentExpression$1 extends Span$1 {
68
204
  type: "AssignmentExpression";
69
205
  operator: AssignmentOperator;
70
206
  left: AssignmentTarget;
71
207
  right: Expression$1;
72
208
  parent?: Node$1;
73
209
  }
74
- declare type AssignmentOperator = "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "**=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "||=" | "&&=" | "??=";
75
- declare interface AssignmentPattern$1 extends Span$1 {
210
+ type AssignmentTarget = SimpleAssignmentTarget$1 | AssignmentTargetPattern;
211
+ type SimpleAssignmentTarget$1 = IdentifierReference$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSNonNullExpression$1 | TSTypeAssertion$1 | MemberExpression$1;
212
+ type AssignmentTargetPattern = ArrayAssignmentTarget | ObjectAssignmentTarget;
213
+ interface ArrayAssignmentTarget extends Span$1 {
214
+ type: "ArrayPattern";
215
+ decorators?: [];
216
+ elements: Array<AssignmentTargetMaybeDefault | AssignmentTargetRest | null>;
217
+ optional?: false;
218
+ typeAnnotation?: null;
219
+ parent?: Node$1;
220
+ }
221
+ interface ObjectAssignmentTarget extends Span$1 {
222
+ type: "ObjectPattern";
223
+ decorators?: [];
224
+ properties: Array<AssignmentTargetProperty | AssignmentTargetRest>;
225
+ optional?: false;
226
+ typeAnnotation?: null;
227
+ parent?: Node$1;
228
+ }
229
+ interface AssignmentTargetRest extends Span$1 {
230
+ type: "RestElement";
231
+ decorators?: [];
232
+ argument: AssignmentTarget;
233
+ optional?: false;
234
+ typeAnnotation?: null;
235
+ value?: null;
236
+ parent?: Node$1;
237
+ }
238
+ type AssignmentTargetMaybeDefault = AssignmentTargetWithDefault | AssignmentTarget;
239
+ interface AssignmentTargetWithDefault extends Span$1 {
76
240
  type: "AssignmentPattern";
77
241
  decorators?: [];
78
- left: BindingPattern$1;
242
+ left: AssignmentTarget;
79
243
  right: Expression$1;
80
244
  optional?: false;
81
245
  typeAnnotation?: null;
82
246
  parent?: Node$1;
83
247
  }
84
- declare type AssignmentTarget = SimpleAssignmentTarget$1 | AssignmentTargetPattern;
85
- declare type AssignmentTargetMaybeDefault = AssignmentTargetWithDefault | AssignmentTarget;
86
- declare type AssignmentTargetPattern = ArrayAssignmentTarget | ObjectAssignmentTarget;
87
- declare type AssignmentTargetProperty = AssignmentTargetPropertyIdentifier | AssignmentTargetPropertyProperty;
88
- declare interface AssignmentTargetPropertyIdentifier extends Span$1 {
248
+ type AssignmentTargetProperty = AssignmentTargetPropertyIdentifier | AssignmentTargetPropertyProperty;
249
+ interface AssignmentTargetPropertyIdentifier extends Span$1 {
89
250
  type: "Property";
90
251
  kind: "init";
91
252
  key: IdentifierReference$1;
@@ -96,10 +257,10 @@ declare interface AssignmentTargetPropertyIdentifier extends Span$1 {
96
257
  optional?: false;
97
258
  parent?: Node$1;
98
259
  }
99
- declare interface AssignmentTargetPropertyProperty extends Span$1 {
260
+ interface AssignmentTargetPropertyProperty extends Span$1 {
100
261
  type: "Property";
101
262
  kind: "init";
102
- key: PropertyKey_2;
263
+ key: PropertyKey;
103
264
  value: AssignmentTargetMaybeDefault;
104
265
  method: false;
105
266
  shorthand: false;
@@ -107,235 +268,111 @@ declare interface AssignmentTargetPropertyProperty extends Span$1 {
107
268
  optional?: false;
108
269
  parent?: Node$1;
109
270
  }
110
- declare interface AssignmentTargetRest extends Span$1 {
111
- type: "RestElement";
112
- decorators?: [];
113
- argument: AssignmentTarget;
114
- optional?: false;
115
- typeAnnotation?: null;
116
- value?: null;
271
+ interface SequenceExpression$1 extends Span$1 {
272
+ type: "SequenceExpression";
273
+ expressions: Array<Expression$1>;
117
274
  parent?: Node$1;
118
275
  }
119
- declare interface AssignmentTargetWithDefault extends Span$1 {
120
- type: "AssignmentPattern";
121
- decorators?: [];
122
- left: AssignmentTarget;
123
- right: Expression$1;
124
- optional?: false;
125
- typeAnnotation?: null;
276
+ interface Super$1 extends Span$1 {
277
+ type: "Super";
126
278
  parent?: Node$1;
127
279
  }
128
- declare interface AwaitExpression extends Span$1 {
280
+ interface AwaitExpression extends Span$1 {
129
281
  type: "AwaitExpression";
130
282
  argument: Expression$1;
131
283
  parent?: Node$1;
132
284
  }
133
- declare interface BigIntLiteral$1 extends Span$1 {
134
- type: "Literal";
135
- value: bigint;
136
- raw: string | null;
137
- bigint: string;
138
- parent?: Node$1;
139
- }
140
- declare interface BinaryExpression$1 extends Span$1 {
141
- type: "BinaryExpression";
142
- left: Expression$1;
143
- operator: BinaryOperator;
144
- right: Expression$1;
285
+ interface ChainExpression$1 extends Span$1 {
286
+ type: "ChainExpression";
287
+ expression: ChainElement;
145
288
  parent?: Node$1;
146
289
  }
147
- declare type BinaryOperator = "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "+" | "-" | "*" | "/" | "%" | "**" | "<<" | ">>" | ">>>" | "|" | "^" | "&" | "in" | "instanceof";
148
- declare interface BindingIdentifier$1 extends Span$1 {
149
- type: "Identifier";
150
- decorators?: [];
151
- name: string;
152
- optional?: false;
153
- typeAnnotation?: TSTypeAnnotation$1 | null;
290
+ type ChainElement = CallExpression$1 | TSNonNullExpression$1 | MemberExpression$1;
291
+ interface ParenthesizedExpression extends Span$1 {
292
+ type: "ParenthesizedExpression";
293
+ expression: Expression$1;
154
294
  parent?: Node$1;
155
295
  }
156
- declare type BindingPattern$1 = BindingIdentifier$1 | ObjectPattern | ArrayPattern$1 | AssignmentPattern$1;
157
- declare interface BindingProperty$1 extends Span$1 {
158
- type: "Property";
159
- kind: "init";
160
- key: PropertyKey_2;
161
- value: BindingPattern$1;
162
- method: false;
163
- shorthand: boolean;
164
- computed: boolean;
165
- optional?: false;
296
+ 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;
297
+ interface Directive extends Span$1 {
298
+ type: "ExpressionStatement";
299
+ expression: StringLiteral$1;
300
+ directive: string;
166
301
  parent?: Node$1;
167
302
  }
168
- declare interface BindingRestElement$1 extends Span$1 {
169
- type: "RestElement";
170
- decorators?: [];
171
- argument: BindingPattern$1;
172
- optional?: false;
173
- typeAnnotation?: TSTypeAnnotation$1 | null;
174
- value?: null;
303
+ interface Hashbang extends Span$1 {
304
+ type: "Hashbang";
305
+ value: string;
175
306
  parent?: Node$1;
176
307
  }
177
- declare interface BlockStatement$1 extends Span$1 {
308
+ interface BlockStatement$1 extends Span$1 {
178
309
  type: "BlockStatement";
179
310
  body: Array<Statement$1>;
180
311
  parent?: Node$1;
181
312
  }
182
- declare interface BooleanLiteral$1 extends Span$1 {
183
- type: "Literal";
184
- value: boolean;
185
- raw: string | null;
313
+ type Declaration = VariableDeclaration$1 | Function$1 | Class$1 | TSTypeAliasDeclaration$1 | TSInterfaceDeclaration$1 | TSEnumDeclaration$1 | TSModuleDeclaration$1 | TSGlobalDeclaration | TSImportEqualsDeclaration$1;
314
+ interface VariableDeclaration$1 extends Span$1 {
315
+ type: "VariableDeclaration";
316
+ kind: VariableDeclarationKind;
317
+ declarations: Array<VariableDeclarator$1>;
318
+ declare?: boolean;
186
319
  parent?: Node$1;
187
320
  }
188
- declare interface BreakStatement$1 extends Span$1 {
189
- type: "BreakStatement";
190
- label: LabelIdentifier$1 | null;
321
+ type VariableDeclarationKind = "var" | "let" | "const" | "using" | "await using";
322
+ interface VariableDeclarator$1 extends Span$1 {
323
+ type: "VariableDeclarator";
324
+ id: BindingPattern$1;
325
+ init: Expression$1 | null;
326
+ definite?: boolean;
191
327
  parent?: Node$1;
192
328
  }
193
- 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;
194
- declare interface CallExpression$1 extends Span$1 {
195
- type: "CallExpression";
196
- callee: Expression$1;
197
- typeArguments?: TSTypeParameterInstantiation$1 | null;
198
- arguments: Array<Argument$1>;
199
- optional: boolean;
200
- parent?: Node$1;
201
- }
202
- declare interface CatchClause$1 extends Span$1 {
203
- type: "CatchClause";
204
- param: BindingPattern$1 | null;
205
- body: BlockStatement$1;
206
- parent?: Node$1;
207
- }
208
- declare type ChainElement = CallExpression$1 | TSNonNullExpression$1 | MemberExpression$1;
209
- declare interface ChainExpression$1 extends Span$1 {
210
- type: "ChainExpression";
211
- expression: ChainElement;
212
- parent?: Node$1;
213
- }
214
- 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;
215
- declare interface Class$1 extends Span$1 {
216
- type: ClassType;
217
- decorators: Array<Decorator$1>;
218
- id: BindingIdentifier$1 | null;
219
- typeParameters?: TSTypeParameterDeclaration$1 | null;
220
- superClass: Expression$1 | null;
221
- superTypeArguments?: TSTypeParameterInstantiation$1 | null;
222
- implements?: Array<TSClassImplements>;
223
- body: ClassBody$1;
224
- abstract?: boolean;
225
- declare?: boolean;
226
- parent?: Node$1;
227
- }
228
- declare interface ClassBody$1 extends Span$1 {
229
- type: "ClassBody";
230
- body: Array<ClassElement>;
231
- parent?: Node$1;
232
- }
233
- declare type ClassElement = StaticBlock$1 | MethodDefinition$1 | PropertyDefinition$1 | AccessorProperty$1 | TSIndexSignature$1;
234
- declare type ClassType = "ClassDeclaration" | "ClassExpression";
235
- declare interface ComputedMemberExpression extends Span$1 {
236
- type: "MemberExpression";
237
- object: Expression$1;
238
- property: Expression$1;
239
- optional: boolean;
240
- computed: true;
241
- parent?: Node$1;
242
- }
243
- declare interface ConditionalExpression$1 extends Span$1 {
244
- type: "ConditionalExpression";
245
- test: Expression$1;
246
- consequent: Expression$1;
247
- alternate: Expression$1;
248
- parent?: Node$1;
249
- }
250
- declare interface ContinueStatement$1 extends Span$1 {
251
- type: "ContinueStatement";
252
- label: LabelIdentifier$1 | null;
253
- parent?: Node$1;
254
- }
255
- declare interface DebuggerStatement extends Span$1 {
256
- type: "DebuggerStatement";
329
+ interface EmptyStatement$1 extends Span$1 {
330
+ type: "EmptyStatement";
257
331
  parent?: Node$1;
258
332
  }
259
- declare type Declaration = VariableDeclaration$1 | Function$1 | Class$1 | TSTypeAliasDeclaration$1 | TSInterfaceDeclaration$1 | TSEnumDeclaration$1 | TSModuleDeclaration$1 | TSGlobalDeclaration | TSImportEqualsDeclaration$1;
260
- declare interface Decorator$1 extends Span$1 {
261
- type: "Decorator";
333
+ interface ExpressionStatement$1 extends Span$1 {
334
+ type: "ExpressionStatement";
262
335
  expression: Expression$1;
336
+ directive?: string | null;
263
337
  parent?: Node$1;
264
338
  }
265
- declare interface Directive extends Span$1 {
266
- type: "ExpressionStatement";
267
- expression: StringLiteral$1;
268
- directive: string;
339
+ interface IfStatement$1 extends Span$1 {
340
+ type: "IfStatement";
341
+ test: Expression$1;
342
+ consequent: Statement$1;
343
+ alternate: Statement$1 | null;
269
344
  parent?: Node$1;
270
345
  }
271
- declare interface DoWhileStatement$1 extends Span$1 {
346
+ interface DoWhileStatement$1 extends Span$1 {
272
347
  type: "DoWhileStatement";
273
348
  body: Statement$1;
274
349
  test: Expression$1;
275
350
  parent?: Node$1;
276
351
  }
277
- declare interface EmptyStatement$1 extends Span$1 {
278
- type: "EmptyStatement";
279
- parent?: Node$1;
280
- }
281
- declare interface ExportAllDeclaration$1 extends Span$1 {
282
- type: "ExportAllDeclaration";
283
- exported: ModuleExportName | null;
284
- source: StringLiteral$1;
285
- attributes: Array<ImportAttribute$1>;
286
- exportKind?: ImportOrExportKind;
287
- parent?: Node$1;
288
- }
289
- declare interface ExportDefaultDeclaration$1 extends Span$1 {
290
- type: "ExportDefaultDeclaration";
291
- declaration: ExportDefaultDeclarationKind;
292
- exportKind?: "value";
293
- parent?: Node$1;
294
- }
295
- declare type ExportDefaultDeclarationKind = Function$1 | Class$1 | TSInterfaceDeclaration$1 | Expression$1;
296
- declare interface ExportNamedDeclaration$1 extends Span$1 {
297
- type: "ExportNamedDeclaration";
298
- declaration: Declaration | null;
299
- specifiers: Array<ExportSpecifier>;
300
- source: StringLiteral$1 | null;
301
- exportKind?: ImportOrExportKind;
302
- attributes: Array<ImportAttribute$1>;
303
- parent?: Node$1;
304
- }
305
- declare interface ExportSpecifier extends Span$1 {
306
- type: "ExportSpecifier";
307
- local: ModuleExportName;
308
- exported: ModuleExportName;
309
- exportKind?: ImportOrExportKind;
352
+ interface WhileStatement$1 extends Span$1 {
353
+ type: "WhileStatement";
354
+ test: Expression$1;
355
+ body: Statement$1;
310
356
  parent?: Node$1;
311
357
  }
312
- 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;
313
- declare interface ExpressionStatement$1 extends Span$1 {
314
- type: "ExpressionStatement";
315
- expression: Expression$1;
316
- directive?: string | null;
358
+ interface ForStatement$1 extends Span$1 {
359
+ type: "ForStatement";
360
+ init: ForStatementInit | null;
361
+ test: Expression$1 | null;
362
+ update: Expression$1 | null;
363
+ body: Statement$1;
317
364
  parent?: Node$1;
318
365
  }
319
- declare interface ForInStatement$1 extends Span$1 {
366
+ type ForStatementInit = VariableDeclaration$1 | Expression$1;
367
+ interface ForInStatement$1 extends Span$1 {
320
368
  type: "ForInStatement";
321
369
  left: ForStatementLeft;
322
370
  right: Expression$1;
323
371
  body: Statement$1;
324
372
  parent?: Node$1;
325
373
  }
326
- declare type FormalParameter = {
327
- decorators?: Array<Decorator$1>;
328
- } & BindingPattern$1;
329
- declare interface FormalParameterRest extends Span$1 {
330
- type: "RestElement";
331
- argument: BindingPattern$1;
332
- decorators?: Array<Decorator$1>;
333
- optional?: boolean;
334
- typeAnnotation?: TSTypeAnnotation$1 | null;
335
- value?: null;
336
- parent?: Node$1;
337
- }
338
- declare interface ForOfStatement$1 extends Span$1 {
374
+ type ForStatementLeft = VariableDeclaration$1 | AssignmentTarget;
375
+ interface ForOfStatement$1 extends Span$1 {
339
376
  type: "ForOfStatement";
340
377
  await: boolean;
341
378
  left: ForStatementLeft;
@@ -343,546 +380,475 @@ declare interface ForOfStatement$1 extends Span$1 {
343
380
  body: Statement$1;
344
381
  parent?: Node$1;
345
382
  }
346
- declare interface ForStatement$1 extends Span$1 {
347
- type: "ForStatement";
348
- init: ForStatementInit | null;
349
- test: Expression$1 | null;
350
- update: Expression$1 | null;
351
- body: Statement$1;
352
- parent?: Node$1;
353
- }
354
- declare type ForStatementInit = VariableDeclaration$1 | Expression$1;
355
- declare type ForStatementLeft = VariableDeclaration$1 | AssignmentTarget;
356
- declare interface Function$1 extends Span$1 {
357
- type: FunctionType;
358
- id: BindingIdentifier$1 | null;
359
- generator: boolean;
360
- async: boolean;
361
- declare?: boolean;
362
- typeParameters?: TSTypeParameterDeclaration$1 | null;
363
- params: ParamPattern$1[];
364
- returnType?: TSTypeAnnotation$1 | null;
365
- body: FunctionBody | null;
366
- expression: false;
367
- parent?: Node$1;
368
- }
369
- declare interface FunctionBody extends Span$1 {
370
- type: "BlockStatement";
371
- body: Array<Directive | Statement$1>;
372
- parent?: Node$1;
373
- }
374
- declare type FunctionType = "FunctionDeclaration" | "FunctionExpression" | "TSDeclareFunction" | "TSEmptyBodyFunctionExpression";
375
- declare interface Hashbang extends Span$1 {
376
- type: "Hashbang";
377
- value: string;
378
- parent?: Node$1;
379
- }
380
- declare interface IdentifierName$1 extends Span$1 {
381
- type: "Identifier";
382
- decorators?: [];
383
- name: string;
384
- optional?: false;
385
- typeAnnotation?: null;
386
- parent?: Node$1;
387
- }
388
- declare interface IdentifierReference$1 extends Span$1 {
389
- type: "Identifier";
390
- decorators?: [];
391
- name: string;
392
- optional?: false;
393
- typeAnnotation?: null;
394
- parent?: Node$1;
395
- }
396
- declare interface IfStatement$1 extends Span$1 {
397
- type: "IfStatement";
398
- test: Expression$1;
399
- consequent: Statement$1;
400
- alternate: Statement$1 | null;
401
- parent?: Node$1;
402
- }
403
- declare interface Ignorer {
404
- readonly name: string;
405
- shouldIgnore(node: Node_2, ancestors: readonly Node_2[]): string | undefined;
406
- }
407
- declare interface ImportAttribute$1 extends Span$1 {
408
- type: "ImportAttribute";
409
- key: ImportAttributeKey;
410
- value: StringLiteral$1;
411
- parent?: Node$1;
412
- }
413
- declare type ImportAttributeKey = IdentifierName$1 | StringLiteral$1;
414
- declare interface ImportDeclaration$1 extends Span$1 {
415
- type: "ImportDeclaration";
416
- specifiers: Array<ImportDeclarationSpecifier>;
417
- source: StringLiteral$1;
418
- phase: ImportPhase | null;
419
- attributes: Array<ImportAttribute$1>;
420
- importKind?: ImportOrExportKind;
421
- parent?: Node$1;
422
- }
423
- declare type ImportDeclarationSpecifier = ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier;
424
- declare interface ImportDefaultSpecifier extends Span$1 {
425
- type: "ImportDefaultSpecifier";
426
- local: BindingIdentifier$1;
427
- parent?: Node$1;
428
- }
429
- declare interface ImportExpression$1 extends Span$1 {
430
- type: "ImportExpression";
431
- source: Expression$1;
432
- options: Expression$1 | null;
433
- phase: ImportPhase | null;
434
- parent?: Node$1;
435
- }
436
- declare interface ImportNamespaceSpecifier extends Span$1 {
437
- type: "ImportNamespaceSpecifier";
438
- local: BindingIdentifier$1;
439
- parent?: Node$1;
440
- }
441
- declare type ImportOrExportKind = "value" | "type";
442
- declare type ImportPhase = "source" | "defer";
443
- declare interface ImportSpecifier extends Span$1 {
444
- type: "ImportSpecifier";
445
- imported: ModuleExportName;
446
- local: BindingIdentifier$1;
447
- importKind?: ImportOrExportKind;
448
- parent?: Node$1;
449
- }
450
- declare interface JSDocNonNullableType$1 extends Span$1 {
451
- type: "TSJSDocNonNullableType";
452
- typeAnnotation: TSType$1;
453
- postfix: boolean;
454
- parent?: Node$1;
455
- }
456
- declare interface JSDocNullableType$1 extends Span$1 {
457
- type: "TSJSDocNullableType";
458
- typeAnnotation: TSType$1;
459
- postfix: boolean;
460
- parent?: Node$1;
461
- }
462
- declare interface JSDocUnknownType extends Span$1 {
463
- type: "TSJSDocUnknownType";
464
- parent?: Node$1;
465
- }
466
- declare interface JSXAttribute$1 extends Span$1 {
467
- type: "JSXAttribute";
468
- name: JSXAttributeName;
469
- value: JSXAttributeValue | null;
470
- parent?: Node$1;
471
- }
472
- declare type JSXAttributeItem = JSXAttribute$1 | JSXSpreadAttribute$1;
473
- declare type JSXAttributeName = JSXIdentifier$1 | JSXNamespacedName$1;
474
- declare type JSXAttributeValue = StringLiteral$1 | JSXExpressionContainer$1 | JSXElement$1 | JSXFragment$1;
475
- declare type JSXChild = JSXText$1 | JSXElement$1 | JSXFragment$1 | JSXExpressionContainer$1 | JSXSpreadChild$1;
476
- declare interface JSXClosingElement extends Span$1 {
477
- type: "JSXClosingElement";
478
- name: JSXElementName;
383
+ interface ContinueStatement$1 extends Span$1 {
384
+ type: "ContinueStatement";
385
+ label: LabelIdentifier$1 | null;
479
386
  parent?: Node$1;
480
387
  }
481
- declare interface JSXClosingFragment extends Span$1 {
482
- type: "JSXClosingFragment";
388
+ interface BreakStatement$1 extends Span$1 {
389
+ type: "BreakStatement";
390
+ label: LabelIdentifier$1 | null;
483
391
  parent?: Node$1;
484
392
  }
485
- declare interface JSXElement$1 extends Span$1 {
486
- type: "JSXElement";
487
- openingElement: JSXOpeningElement$1;
488
- children: Array<JSXChild>;
489
- closingElement: JSXClosingElement | null;
393
+ interface ReturnStatement$1 extends Span$1 {
394
+ type: "ReturnStatement";
395
+ argument: Expression$1 | null;
490
396
  parent?: Node$1;
491
397
  }
492
- declare type JSXElementName = JSXIdentifier$1 | JSXNamespacedName$1 | JSXMemberExpression$1;
493
- declare interface JSXEmptyExpression extends Span$1 {
494
- type: "JSXEmptyExpression";
398
+ interface WithStatement$1 extends Span$1 {
399
+ type: "WithStatement";
400
+ object: Expression$1;
401
+ body: Statement$1;
495
402
  parent?: Node$1;
496
403
  }
497
- declare type JSXExpression = JSXEmptyExpression | Expression$1;
498
- declare interface JSXExpressionContainer$1 extends Span$1 {
499
- type: "JSXExpressionContainer";
500
- expression: JSXExpression;
404
+ interface SwitchStatement$1 extends Span$1 {
405
+ type: "SwitchStatement";
406
+ discriminant: Expression$1;
407
+ cases: Array<SwitchCase$1>;
501
408
  parent?: Node$1;
502
409
  }
503
- declare interface JSXFragment$1 extends Span$1 {
504
- type: "JSXFragment";
505
- openingFragment: JSXOpeningFragment;
506
- children: Array<JSXChild>;
507
- closingFragment: JSXClosingFragment;
410
+ interface SwitchCase$1 extends Span$1 {
411
+ type: "SwitchCase";
412
+ test: Expression$1 | null;
413
+ consequent: Array<Statement$1>;
508
414
  parent?: Node$1;
509
415
  }
510
- declare interface JSXIdentifier$1 extends Span$1 {
511
- type: "JSXIdentifier";
512
- name: string;
416
+ interface LabeledStatement$1 extends Span$1 {
417
+ type: "LabeledStatement";
418
+ label: LabelIdentifier$1;
419
+ body: Statement$1;
513
420
  parent?: Node$1;
514
421
  }
515
- declare interface JSXMemberExpression$1 extends Span$1 {
516
- type: "JSXMemberExpression";
517
- object: JSXMemberExpressionObject;
518
- property: JSXIdentifier$1;
422
+ interface ThrowStatement$1 extends Span$1 {
423
+ type: "ThrowStatement";
424
+ argument: Expression$1;
519
425
  parent?: Node$1;
520
426
  }
521
- declare type JSXMemberExpressionObject = JSXIdentifier$1 | JSXMemberExpression$1;
522
- declare interface JSXNamespacedName$1 extends Span$1 {
523
- type: "JSXNamespacedName";
524
- namespace: JSXIdentifier$1;
525
- name: JSXIdentifier$1;
427
+ interface TryStatement$1 extends Span$1 {
428
+ type: "TryStatement";
429
+ block: BlockStatement$1;
430
+ handler: CatchClause$1 | null;
431
+ finalizer: BlockStatement$1 | null;
526
432
  parent?: Node$1;
527
433
  }
528
- declare interface JSXOpeningElement$1 extends Span$1 {
529
- type: "JSXOpeningElement";
530
- name: JSXElementName;
531
- typeArguments?: TSTypeParameterInstantiation$1 | null;
532
- attributes: Array<JSXAttributeItem>;
533
- selfClosing: boolean;
434
+ interface CatchClause$1 extends Span$1 {
435
+ type: "CatchClause";
436
+ param: BindingPattern$1 | null;
437
+ body: BlockStatement$1;
534
438
  parent?: Node$1;
535
439
  }
536
- declare interface JSXOpeningFragment extends Span$1 {
537
- type: "JSXOpeningFragment";
538
- attributes?: [];
539
- selfClosing?: false;
440
+ interface DebuggerStatement extends Span$1 {
441
+ type: "DebuggerStatement";
540
442
  parent?: Node$1;
541
443
  }
542
- declare interface JSXSpreadAttribute$1 extends Span$1 {
543
- type: "JSXSpreadAttribute";
544
- argument: Expression$1;
444
+ type BindingPattern$1 = BindingIdentifier$1 | ObjectPattern | ArrayPattern$1 | AssignmentPattern$1;
445
+ interface AssignmentPattern$1 extends Span$1 {
446
+ type: "AssignmentPattern";
447
+ decorators?: [];
448
+ left: BindingPattern$1;
449
+ right: Expression$1;
450
+ optional?: false;
451
+ typeAnnotation?: null;
545
452
  parent?: Node$1;
546
453
  }
547
- declare interface JSXSpreadChild$1 extends Span$1 {
548
- type: "JSXSpreadChild";
549
- expression: Expression$1;
454
+ interface ObjectPattern extends Span$1 {
455
+ type: "ObjectPattern";
456
+ decorators?: [];
457
+ properties: Array<BindingProperty$1 | BindingRestElement$1>;
458
+ optional?: false;
459
+ typeAnnotation?: TSTypeAnnotation$1 | null;
550
460
  parent?: Node$1;
551
461
  }
552
- declare interface JSXText$1 extends Span$1 {
553
- type: "JSXText";
554
- value: string;
555
- raw: string | null;
462
+ interface BindingProperty$1 extends Span$1 {
463
+ type: "Property";
464
+ kind: "init";
465
+ key: PropertyKey;
466
+ value: BindingPattern$1;
467
+ method: false;
468
+ shorthand: boolean;
469
+ computed: boolean;
470
+ optional?: false;
556
471
  parent?: Node$1;
557
472
  }
558
- declare interface LabeledStatement$1 extends Span$1 {
559
- type: "LabeledStatement";
560
- label: LabelIdentifier$1;
561
- body: Statement$1;
473
+ interface ArrayPattern$1 extends Span$1 {
474
+ type: "ArrayPattern";
475
+ decorators?: [];
476
+ elements: Array<BindingPattern$1 | BindingRestElement$1 | null>;
477
+ optional?: false;
478
+ typeAnnotation?: TSTypeAnnotation$1 | null;
562
479
  parent?: Node$1;
563
480
  }
564
- declare interface LabelIdentifier$1 extends Span$1 {
565
- type: "Identifier";
481
+ interface BindingRestElement$1 extends Span$1 {
482
+ type: "RestElement";
566
483
  decorators?: [];
567
- name: string;
484
+ argument: BindingPattern$1;
568
485
  optional?: false;
569
- typeAnnotation?: null;
486
+ typeAnnotation?: TSTypeAnnotation$1 | null;
487
+ value?: null;
570
488
  parent?: Node$1;
571
489
  }
572
- declare interface LogicalExpression$1 extends Span$1 {
573
- type: "LogicalExpression";
574
- left: Expression$1;
575
- operator: LogicalOperator;
576
- right: Expression$1;
490
+ interface Function$1 extends Span$1 {
491
+ type: FunctionType;
492
+ id: BindingIdentifier$1 | null;
493
+ generator: boolean;
494
+ async: boolean;
495
+ declare?: boolean;
496
+ typeParameters?: TSTypeParameterDeclaration$1 | null;
497
+ params: ParamPattern$1[];
498
+ returnType?: TSTypeAnnotation$1 | null;
499
+ body: FunctionBody | null;
500
+ expression: false;
577
501
  parent?: Node$1;
578
502
  }
579
- declare type LogicalOperator = "||" | "&&" | "??";
580
- declare type MemberExpression$1 = ComputedMemberExpression | StaticMemberExpression$1 | PrivateFieldExpression;
581
- declare interface MetaProperty$1 extends Span$1 {
582
- type: "MetaProperty";
583
- meta: IdentifierName$1;
584
- property: IdentifierName$1;
503
+ type ParamPattern$1 = FormalParameter | TSParameterProperty | FormalParameterRest;
504
+ type FunctionType = "FunctionDeclaration" | "FunctionExpression" | "TSDeclareFunction" | "TSEmptyBodyFunctionExpression";
505
+ interface FormalParameterRest extends Span$1 {
506
+ type: "RestElement";
507
+ argument: BindingPattern$1;
508
+ decorators?: Array<Decorator$1>;
509
+ optional?: boolean;
510
+ typeAnnotation?: TSTypeAnnotation$1 | null;
511
+ value?: null;
585
512
  parent?: Node$1;
586
513
  }
587
- declare interface MethodDefinition$1 extends Span$1 {
588
- type: MethodDefinitionType;
514
+ type FormalParameter = {
515
+ decorators?: Array<Decorator$1>;
516
+ } & BindingPattern$1;
517
+ interface TSParameterProperty extends Span$1 {
518
+ type: "TSParameterProperty";
519
+ accessibility: TSAccessibility | null;
589
520
  decorators: Array<Decorator$1>;
590
- key: PropertyKey_2;
591
- value: Function$1;
592
- kind: MethodDefinitionKind;
593
- computed: boolean;
521
+ override: boolean;
522
+ parameter: FormalParameter;
523
+ readonly: boolean;
594
524
  static: boolean;
595
- override?: boolean;
596
- optional?: boolean;
597
- accessibility?: TSAccessibility | null;
598
525
  parent?: Node$1;
599
526
  }
600
- declare type MethodDefinitionKind = "constructor" | "method" | "get" | "set";
601
- declare type MethodDefinitionType = "MethodDefinition" | "TSAbstractMethodDefinition";
602
- declare type ModuleDeclaration = ImportDeclaration$1 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | TSExportAssignment$1 | TSNamespaceExportDeclaration$1;
603
- declare type ModuleExportName = IdentifierName$1 | IdentifierReference$1 | StringLiteral$1;
604
- declare type ModuleKind = "script" | "module" | "commonjs";
605
- declare interface NewExpression$1 extends Span$1 {
606
- type: "NewExpression";
607
- callee: Expression$1;
608
- typeArguments?: TSTypeParameterInstantiation$1 | null;
609
- arguments: Array<Argument$1>;
610
- parent?: Node$1;
611
- }
612
- 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;
613
- declare type Node_2 = Simplify<Built<Node$1>> | Node$1;
614
- declare interface NullLiteral$1 extends Span$1 {
615
- type: "Literal";
616
- value: null;
617
- raw: "null" | null;
527
+ interface FunctionBody extends Span$1 {
528
+ type: "BlockStatement";
529
+ body: Array<Directive | Statement$1>;
618
530
  parent?: Node$1;
619
531
  }
620
- declare interface NumericLiteral$1 extends Span$1 {
621
- type: "Literal";
622
- value: number;
623
- raw: string | null;
532
+ interface ArrowFunctionExpression$1 extends Span$1 {
533
+ type: "ArrowFunctionExpression";
534
+ expression: boolean;
535
+ async: boolean;
536
+ typeParameters?: TSTypeParameterDeclaration$1 | null;
537
+ params: ParamPattern$1[];
538
+ returnType?: TSTypeAnnotation$1 | null;
539
+ body: FunctionBody | Expression$1;
540
+ id: null;
541
+ generator: false;
624
542
  parent?: Node$1;
625
543
  }
626
- declare interface ObjectAssignmentTarget extends Span$1 {
627
- type: "ObjectPattern";
628
- decorators?: [];
629
- properties: Array<AssignmentTargetProperty | AssignmentTargetRest>;
630
- optional?: false;
631
- typeAnnotation?: null;
544
+ interface YieldExpression$1 extends Span$1 {
545
+ type: "YieldExpression";
546
+ delegate: boolean;
547
+ argument: Expression$1 | null;
632
548
  parent?: Node$1;
633
549
  }
634
- declare interface ObjectExpression$1 extends Span$1 {
635
- type: "ObjectExpression";
636
- properties: Array<ObjectPropertyKind>;
550
+ interface Class$1 extends Span$1 {
551
+ type: ClassType;
552
+ decorators: Array<Decorator$1>;
553
+ id: BindingIdentifier$1 | null;
554
+ typeParameters?: TSTypeParameterDeclaration$1 | null;
555
+ superClass: Expression$1 | null;
556
+ superTypeArguments?: TSTypeParameterInstantiation$1 | null;
557
+ implements?: Array<TSClassImplements>;
558
+ body: ClassBody$1;
559
+ abstract?: boolean;
560
+ declare?: boolean;
637
561
  parent?: Node$1;
638
562
  }
639
- declare interface ObjectPattern extends Span$1 {
640
- type: "ObjectPattern";
641
- decorators?: [];
642
- properties: Array<BindingProperty$1 | BindingRestElement$1>;
643
- optional?: false;
644
- typeAnnotation?: TSTypeAnnotation$1 | null;
563
+ type ClassType = "ClassDeclaration" | "ClassExpression";
564
+ interface ClassBody$1 extends Span$1 {
565
+ type: "ClassBody";
566
+ body: Array<ClassElement>;
645
567
  parent?: Node$1;
646
568
  }
647
- declare interface ObjectProperty$1 extends Span$1 {
648
- type: "Property";
649
- kind: PropertyKind;
650
- key: PropertyKey_2;
651
- value: Expression$1;
652
- method: boolean;
653
- shorthand: boolean;
569
+ type ClassElement = StaticBlock$1 | MethodDefinition$1 | PropertyDefinition$1 | AccessorProperty$1 | TSIndexSignature$1;
570
+ interface MethodDefinition$1 extends Span$1 {
571
+ type: MethodDefinitionType;
572
+ decorators: Array<Decorator$1>;
573
+ key: PropertyKey;
574
+ value: Function$1;
575
+ kind: MethodDefinitionKind;
654
576
  computed: boolean;
655
- optional?: false;
656
- parent?: Node$1;
657
- }
658
- declare type ObjectPropertyKind = ObjectProperty$1 | SpreadElement$1;
659
- declare type ParamPattern$1 = FormalParameter | TSParameterProperty | FormalParameterRest;
660
- declare interface ParenthesizedExpression extends Span$1 {
661
- type: "ParenthesizedExpression";
662
- expression: Expression$1;
577
+ static: boolean;
578
+ override?: boolean;
579
+ optional?: boolean;
580
+ accessibility?: TSAccessibility | null;
663
581
  parent?: Node$1;
664
582
  }
665
- declare interface PrivateFieldExpression extends Span$1 {
666
- type: "MemberExpression";
667
- object: Expression$1;
668
- property: PrivateIdentifier$1;
669
- optional: boolean;
670
- computed: false;
583
+ type MethodDefinitionType = "MethodDefinition" | "TSAbstractMethodDefinition";
584
+ interface PropertyDefinition$1 extends Span$1 {
585
+ type: PropertyDefinitionType;
586
+ decorators: Array<Decorator$1>;
587
+ key: PropertyKey;
588
+ typeAnnotation?: TSTypeAnnotation$1 | null;
589
+ value: Expression$1 | null;
590
+ computed: boolean;
591
+ static: boolean;
592
+ declare?: boolean;
593
+ override?: boolean;
594
+ optional?: boolean;
595
+ definite?: boolean;
596
+ readonly?: boolean;
597
+ accessibility?: TSAccessibility | null;
671
598
  parent?: Node$1;
672
599
  }
673
- declare interface PrivateIdentifier$1 extends Span$1 {
600
+ type PropertyDefinitionType = "PropertyDefinition" | "TSAbstractPropertyDefinition";
601
+ type MethodDefinitionKind = "constructor" | "method" | "get" | "set";
602
+ interface PrivateIdentifier$1 extends Span$1 {
674
603
  type: "PrivateIdentifier";
675
604
  name: string;
676
605
  parent?: Node$1;
677
606
  }
678
- declare interface PrivateInExpression$1 extends Span$1 {
679
- type: "BinaryExpression";
680
- left: PrivateIdentifier$1;
681
- operator: "in";
682
- right: Expression$1;
607
+ interface StaticBlock$1 extends Span$1 {
608
+ type: "StaticBlock";
609
+ body: Array<Statement$1>;
683
610
  parent?: Node$1;
684
611
  }
685
- declare interface Program$1 extends Span$1 {
686
- type: "Program";
687
- body: Array<Directive | Statement$1>;
688
- sourceType: ModuleKind;
689
- hashbang: Hashbang | null;
690
- parent?: null;
691
- }
692
- declare type Program = Simplify<Built<Program$1>>;
693
- declare interface PropertyDefinition$1 extends Span$1 {
694
- type: PropertyDefinitionType;
612
+ type ModuleDeclaration = ImportDeclaration$1 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | TSExportAssignment$1 | TSNamespaceExportDeclaration$1;
613
+ type AccessorPropertyType = "AccessorProperty" | "TSAbstractAccessorProperty";
614
+ interface AccessorProperty$1 extends Span$1 {
615
+ type: AccessorPropertyType;
695
616
  decorators: Array<Decorator$1>;
696
- key: PropertyKey_2;
617
+ key: PropertyKey;
697
618
  typeAnnotation?: TSTypeAnnotation$1 | null;
698
619
  value: Expression$1 | null;
699
620
  computed: boolean;
700
621
  static: boolean;
701
- declare?: boolean;
702
622
  override?: boolean;
703
- optional?: boolean;
704
623
  definite?: boolean;
705
- readonly?: boolean;
706
624
  accessibility?: TSAccessibility | null;
625
+ declare?: false;
626
+ optional?: false;
627
+ readonly?: false;
707
628
  parent?: Node$1;
708
629
  }
709
- declare type PropertyDefinitionType = "PropertyDefinition" | "TSAbstractPropertyDefinition";
710
- declare type PropertyKey_2 = IdentifierName$1 | PrivateIdentifier$1 | Expression$1;
711
- declare type PropertyKind = "init" | "get" | "set";
712
- declare interface RegExpLiteral$1 extends Span$1 {
713
- type: "Literal";
714
- value: RegExp | null;
715
- raw: string | null;
716
- regex: {
717
- pattern: string;
718
- flags: string;
719
- };
630
+ interface ImportExpression$1 extends Span$1 {
631
+ type: "ImportExpression";
632
+ source: Expression$1;
633
+ options: Expression$1 | null;
634
+ phase: ImportPhase | null;
720
635
  parent?: Node$1;
721
636
  }
722
- declare interface ReturnStatement$1 extends Span$1 {
723
- type: "ReturnStatement";
724
- argument: Expression$1 | null;
637
+ interface ImportDeclaration$1 extends Span$1 {
638
+ type: "ImportDeclaration";
639
+ specifiers: Array<ImportDeclarationSpecifier>;
640
+ source: StringLiteral$1;
641
+ phase: ImportPhase | null;
642
+ attributes: Array<ImportAttribute$1>;
643
+ importKind?: ImportOrExportKind;
725
644
  parent?: Node$1;
726
645
  }
727
- declare interface SequenceExpression$1 extends Span$1 {
728
- type: "SequenceExpression";
729
- expressions: Array<Expression$1>;
646
+ type ImportPhase = "source" | "defer";
647
+ type ImportDeclarationSpecifier = ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier;
648
+ interface ImportSpecifier extends Span$1 {
649
+ type: "ImportSpecifier";
650
+ imported: ModuleExportName;
651
+ local: BindingIdentifier$1;
652
+ importKind?: ImportOrExportKind;
730
653
  parent?: Node$1;
731
654
  }
732
- declare type SimpleAssignmentTarget$1 = IdentifierReference$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSNonNullExpression$1 | TSTypeAssertion$1 | MemberExpression$1;
733
- declare type Simplify<T> = { [K in keyof T]: T[K]; } & {};
734
- declare interface Span$1 {
735
- start: number;
736
- end: number;
737
- range?: [number, number];
655
+ interface ImportDefaultSpecifier extends Span$1 {
656
+ type: "ImportDefaultSpecifier";
657
+ local: BindingIdentifier$1;
658
+ parent?: Node$1;
738
659
  }
739
- declare interface SpreadElement$1 extends Span$1 {
740
- type: "SpreadElement";
741
- argument: Expression$1;
660
+ interface ImportNamespaceSpecifier extends Span$1 {
661
+ type: "ImportNamespaceSpecifier";
662
+ local: BindingIdentifier$1;
742
663
  parent?: Node$1;
743
664
  }
744
- 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;
745
- declare type Statement = Simplify<Built<Statement$1>> | Statement$1;
746
- declare interface StaticBlock$1 extends Span$1 {
747
- type: "StaticBlock";
748
- body: Array<Statement$1>;
665
+ interface ImportAttribute$1 extends Span$1 {
666
+ type: "ImportAttribute";
667
+ key: ImportAttributeKey;
668
+ value: StringLiteral$1;
749
669
  parent?: Node$1;
750
670
  }
751
- declare interface StaticMemberExpression$1 extends Span$1 {
752
- type: "MemberExpression";
753
- object: Expression$1;
754
- property: IdentifierName$1;
755
- optional: boolean;
756
- computed: false;
671
+ type ImportAttributeKey = IdentifierName$1 | StringLiteral$1;
672
+ interface ExportNamedDeclaration$1 extends Span$1 {
673
+ type: "ExportNamedDeclaration";
674
+ declaration: Declaration | null;
675
+ specifiers: Array<ExportSpecifier>;
676
+ source: StringLiteral$1 | null;
677
+ exportKind?: ImportOrExportKind;
678
+ attributes: Array<ImportAttribute$1>;
679
+ parent?: Node$1;
680
+ }
681
+ interface ExportDefaultDeclaration$1 extends Span$1 {
682
+ type: "ExportDefaultDeclaration";
683
+ declaration: ExportDefaultDeclarationKind;
684
+ exportKind?: "value";
685
+ parent?: Node$1;
686
+ }
687
+ interface ExportAllDeclaration$1 extends Span$1 {
688
+ type: "ExportAllDeclaration";
689
+ exported: ModuleExportName | null;
690
+ source: StringLiteral$1;
691
+ attributes: Array<ImportAttribute$1>;
692
+ exportKind?: ImportOrExportKind;
693
+ parent?: Node$1;
694
+ }
695
+ interface ExportSpecifier extends Span$1 {
696
+ type: "ExportSpecifier";
697
+ local: ModuleExportName;
698
+ exported: ModuleExportName;
699
+ exportKind?: ImportOrExportKind;
757
700
  parent?: Node$1;
758
701
  }
759
- declare interface StringLiteral$1 extends Span$1 {
702
+ type ExportDefaultDeclarationKind = Function$1 | Class$1 | TSInterfaceDeclaration$1 | Expression$1;
703
+ type ModuleExportName = IdentifierName$1 | IdentifierReference$1 | StringLiteral$1;
704
+ interface V8IntrinsicExpression extends Span$1 {
705
+ type: "V8IntrinsicExpression";
706
+ name: IdentifierName$1;
707
+ arguments: Array<Argument$1>;
708
+ parent?: Node$1;
709
+ }
710
+ interface BooleanLiteral$1 extends Span$1 {
760
711
  type: "Literal";
761
- value: string;
712
+ value: boolean;
762
713
  raw: string | null;
763
714
  parent?: Node$1;
764
715
  }
765
- declare interface Super$1 extends Span$1 {
766
- type: "Super";
716
+ interface NullLiteral$1 extends Span$1 {
717
+ type: "Literal";
718
+ value: null;
719
+ raw: "null" | null;
767
720
  parent?: Node$1;
768
721
  }
769
- declare interface SwitchCase$1 extends Span$1 {
770
- type: "SwitchCase";
771
- test: Expression$1 | null;
772
- consequent: Array<Statement$1>;
722
+ interface NumericLiteral$1 extends Span$1 {
723
+ type: "Literal";
724
+ value: number;
725
+ raw: string | null;
773
726
  parent?: Node$1;
774
727
  }
775
- declare interface SwitchStatement$1 extends Span$1 {
776
- type: "SwitchStatement";
777
- discriminant: Expression$1;
778
- cases: Array<SwitchCase$1>;
728
+ interface StringLiteral$1 extends Span$1 {
729
+ type: "Literal";
730
+ value: string;
731
+ raw: string | null;
779
732
  parent?: Node$1;
780
733
  }
781
- declare interface TaggedTemplateExpression$1 extends Span$1 {
782
- type: "TaggedTemplateExpression";
783
- tag: Expression$1;
784
- typeArguments?: TSTypeParameterInstantiation$1 | null;
785
- quasi: TemplateLiteral$1;
734
+ interface BigIntLiteral$1 extends Span$1 {
735
+ type: "Literal";
736
+ value: bigint;
737
+ raw: string | null;
738
+ bigint: string;
786
739
  parent?: Node$1;
787
740
  }
788
- declare interface TemplateElement$1 extends Span$1 {
789
- type: "TemplateElement";
790
- value: TemplateElementValue;
791
- tail: boolean;
741
+ interface RegExpLiteral$1 extends Span$1 {
742
+ type: "Literal";
743
+ value: RegExp | null;
744
+ raw: string | null;
745
+ regex: {
746
+ pattern: string;
747
+ flags: string;
748
+ };
792
749
  parent?: Node$1;
793
750
  }
794
- declare interface TemplateElementValue {
795
- raw: string;
796
- cooked: string | null;
797
- }
798
- declare interface TemplateLiteral$1 extends Span$1 {
799
- type: "TemplateLiteral";
800
- quasis: Array<TemplateElement$1>;
801
- expressions: Array<Expression$1>;
751
+ interface JSXElement$1 extends Span$1 {
752
+ type: "JSXElement";
753
+ openingElement: JSXOpeningElement$1;
754
+ children: Array<JSXChild>;
755
+ closingElement: JSXClosingElement | null;
802
756
  parent?: Node$1;
803
757
  }
804
- declare interface ThisExpression$1 extends Span$1 {
805
- type: "ThisExpression";
758
+ interface JSXOpeningElement$1 extends Span$1 {
759
+ type: "JSXOpeningElement";
760
+ name: JSXElementName;
761
+ typeArguments?: TSTypeParameterInstantiation$1 | null;
762
+ attributes: Array<JSXAttributeItem>;
763
+ selfClosing: boolean;
806
764
  parent?: Node$1;
807
765
  }
808
- declare interface ThrowStatement$1 extends Span$1 {
809
- type: "ThrowStatement";
810
- argument: Expression$1;
766
+ interface JSXClosingElement extends Span$1 {
767
+ type: "JSXClosingElement";
768
+ name: JSXElementName;
811
769
  parent?: Node$1;
812
770
  }
813
- declare interface TryStatement$1 extends Span$1 {
814
- type: "TryStatement";
815
- block: BlockStatement$1;
816
- handler: CatchClause$1 | null;
817
- finalizer: BlockStatement$1 | null;
771
+ interface JSXFragment$1 extends Span$1 {
772
+ type: "JSXFragment";
773
+ openingFragment: JSXOpeningFragment;
774
+ children: Array<JSXChild>;
775
+ closingFragment: JSXClosingFragment;
818
776
  parent?: Node$1;
819
777
  }
820
- declare type TSAccessibility = "private" | "protected" | "public";
821
- declare interface TSAnyKeyword extends Span$1 {
822
- type: "TSAnyKeyword";
778
+ interface JSXOpeningFragment extends Span$1 {
779
+ type: "JSXOpeningFragment";
780
+ attributes?: [];
781
+ selfClosing?: false;
823
782
  parent?: Node$1;
824
783
  }
825
- declare interface TSArrayType$1 extends Span$1 {
826
- type: "TSArrayType";
827
- elementType: TSType$1;
784
+ interface JSXClosingFragment extends Span$1 {
785
+ type: "JSXClosingFragment";
828
786
  parent?: Node$1;
829
787
  }
830
- declare interface TSAsExpression$1 extends Span$1 {
831
- type: "TSAsExpression";
832
- expression: Expression$1;
833
- typeAnnotation: TSType$1;
788
+ type JSXElementName = JSXIdentifier$1 | JSXNamespacedName$1 | JSXMemberExpression$1;
789
+ interface JSXNamespacedName$1 extends Span$1 {
790
+ type: "JSXNamespacedName";
791
+ namespace: JSXIdentifier$1;
792
+ name: JSXIdentifier$1;
834
793
  parent?: Node$1;
835
794
  }
836
- declare interface TSBigIntKeyword extends Span$1 {
837
- type: "TSBigIntKeyword";
795
+ interface JSXMemberExpression$1 extends Span$1 {
796
+ type: "JSXMemberExpression";
797
+ object: JSXMemberExpressionObject;
798
+ property: JSXIdentifier$1;
838
799
  parent?: Node$1;
839
800
  }
840
- declare interface TSBooleanKeyword extends Span$1 {
841
- type: "TSBooleanKeyword";
801
+ type JSXMemberExpressionObject = JSXIdentifier$1 | JSXMemberExpression$1;
802
+ interface JSXExpressionContainer$1 extends Span$1 {
803
+ type: "JSXExpressionContainer";
804
+ expression: JSXExpression;
842
805
  parent?: Node$1;
843
806
  }
844
- declare interface TSCallSignatureDeclaration$1 extends Span$1 {
845
- type: "TSCallSignatureDeclaration";
846
- typeParameters: TSTypeParameterDeclaration$1 | null;
847
- params: ParamPattern$1[];
848
- returnType: TSTypeAnnotation$1 | null;
807
+ type JSXExpression = JSXEmptyExpression | Expression$1;
808
+ interface JSXEmptyExpression extends Span$1 {
809
+ type: "JSXEmptyExpression";
849
810
  parent?: Node$1;
850
811
  }
851
- declare interface TSClassImplements extends Span$1 {
852
- type: "TSClassImplements";
853
- expression: IdentifierReference$1 | ThisExpression$1 | MemberExpression$1;
854
- typeArguments: TSTypeParameterInstantiation$1 | null;
812
+ type JSXAttributeItem = JSXAttribute$1 | JSXSpreadAttribute$1;
813
+ interface JSXAttribute$1 extends Span$1 {
814
+ type: "JSXAttribute";
815
+ name: JSXAttributeName;
816
+ value: JSXAttributeValue | null;
855
817
  parent?: Node$1;
856
818
  }
857
- declare interface TSConditionalType$1 extends Span$1 {
858
- type: "TSConditionalType";
859
- checkType: TSType$1;
860
- extendsType: TSType$1;
861
- trueType: TSType$1;
862
- falseType: TSType$1;
819
+ interface JSXSpreadAttribute$1 extends Span$1 {
820
+ type: "JSXSpreadAttribute";
821
+ argument: Expression$1;
863
822
  parent?: Node$1;
864
823
  }
865
- declare interface TSConstructorType$1 extends Span$1 {
866
- type: "TSConstructorType";
867
- abstract: boolean;
868
- typeParameters: TSTypeParameterDeclaration$1 | null;
869
- params: ParamPattern$1[];
870
- returnType: TSTypeAnnotation$1;
824
+ type JSXAttributeName = JSXIdentifier$1 | JSXNamespacedName$1;
825
+ type JSXAttributeValue = StringLiteral$1 | JSXExpressionContainer$1 | JSXElement$1 | JSXFragment$1;
826
+ interface JSXIdentifier$1 extends Span$1 {
827
+ type: "JSXIdentifier";
828
+ name: string;
871
829
  parent?: Node$1;
872
830
  }
873
- declare interface TSConstructSignatureDeclaration$1 extends Span$1 {
874
- type: "TSConstructSignatureDeclaration";
875
- typeParameters: TSTypeParameterDeclaration$1 | null;
876
- params: ParamPattern$1[];
877
- returnType: TSTypeAnnotation$1 | null;
831
+ type JSXChild = JSXText$1 | JSXElement$1 | JSXFragment$1 | JSXExpressionContainer$1 | JSXSpreadChild$1;
832
+ interface JSXSpreadChild$1 extends Span$1 {
833
+ type: "JSXSpreadChild";
834
+ expression: Expression$1;
878
835
  parent?: Node$1;
879
836
  }
880
- declare interface TSEnumBody extends Span$1 {
881
- type: "TSEnumBody";
882
- members: Array<TSEnumMember>;
837
+ interface JSXText$1 extends Span$1 {
838
+ type: "JSXText";
839
+ value: string;
840
+ raw: string | null;
841
+ parent?: Node$1;
842
+ }
843
+ interface TSThisParameter extends Span$1 {
844
+ type: "Identifier";
845
+ decorators: [];
846
+ name: "this";
847
+ optional: false;
848
+ typeAnnotation: TSTypeAnnotation$1 | null;
883
849
  parent?: Node$1;
884
850
  }
885
- declare interface TSEnumDeclaration$1 extends Span$1 {
851
+ interface TSEnumDeclaration$1 extends Span$1 {
886
852
  type: "TSEnumDeclaration";
887
853
  id: BindingIdentifier$1;
888
854
  body: TSEnumBody;
@@ -890,433 +856,473 @@ declare interface TSEnumDeclaration$1 extends Span$1 {
890
856
  declare: boolean;
891
857
  parent?: Node$1;
892
858
  }
893
- declare interface TSEnumMember extends Span$1 {
859
+ interface TSEnumBody extends Span$1 {
860
+ type: "TSEnumBody";
861
+ members: Array<TSEnumMember>;
862
+ parent?: Node$1;
863
+ }
864
+ interface TSEnumMember extends Span$1 {
894
865
  type: "TSEnumMember";
895
866
  id: TSEnumMemberName;
896
867
  initializer: Expression$1 | null;
897
868
  computed: boolean;
898
869
  parent?: Node$1;
899
870
  }
900
- declare type TSEnumMemberName = IdentifierName$1 | StringLiteral$1 | TemplateLiteral$1;
901
- declare interface TSExportAssignment$1 extends Span$1 {
902
- type: "TSExportAssignment";
903
- expression: Expression$1;
871
+ type TSEnumMemberName = IdentifierName$1 | StringLiteral$1 | TemplateLiteral$1;
872
+ interface TSTypeAnnotation$1 extends Span$1 {
873
+ type: "TSTypeAnnotation";
874
+ typeAnnotation: TSType$1;
904
875
  parent?: Node$1;
905
876
  }
906
- declare interface TSExternalModuleReference extends Span$1 {
907
- type: "TSExternalModuleReference";
908
- expression: StringLiteral$1;
877
+ interface TSLiteralType$1 extends Span$1 {
878
+ type: "TSLiteralType";
879
+ literal: TSLiteral;
909
880
  parent?: Node$1;
910
881
  }
911
- declare interface TSFunctionType$1 extends Span$1 {
912
- type: "TSFunctionType";
913
- typeParameters: TSTypeParameterDeclaration$1 | null;
914
- params: ParamPattern$1[];
915
- returnType: TSTypeAnnotation$1;
882
+ type TSLiteral = BooleanLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | StringLiteral$1 | TemplateLiteral$1 | UnaryExpression$1;
883
+ 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;
884
+ interface TSConditionalType$1 extends Span$1 {
885
+ type: "TSConditionalType";
886
+ checkType: TSType$1;
887
+ extendsType: TSType$1;
888
+ trueType: TSType$1;
889
+ falseType: TSType$1;
916
890
  parent?: Node$1;
917
891
  }
918
- declare interface TSGlobalDeclaration extends Span$1 {
919
- type: "TSModuleDeclaration";
920
- id: IdentifierName$1;
921
- body: TSModuleBlock$1;
922
- kind: "global";
923
- declare: boolean;
924
- global: true;
892
+ interface TSUnionType$1 extends Span$1 {
893
+ type: "TSUnionType";
894
+ types: Array<TSType$1>;
925
895
  parent?: Node$1;
926
896
  }
927
- declare interface TSImportEqualsDeclaration$1 extends Span$1 {
928
- type: "TSImportEqualsDeclaration";
929
- id: BindingIdentifier$1;
930
- moduleReference: TSModuleReference;
931
- importKind: ImportOrExportKind;
897
+ interface TSIntersectionType$1 extends Span$1 {
898
+ type: "TSIntersectionType";
899
+ types: Array<TSType$1>;
932
900
  parent?: Node$1;
933
901
  }
934
- declare interface TSImportType$1 extends Span$1 {
935
- type: "TSImportType";
936
- source: StringLiteral$1;
937
- options: ObjectExpression$1 | null;
938
- qualifier: TSImportTypeQualifier | null;
939
- typeArguments: TSTypeParameterInstantiation$1 | null;
902
+ interface TSParenthesizedType$1 extends Span$1 {
903
+ type: "TSParenthesizedType";
904
+ typeAnnotation: TSType$1;
940
905
  parent?: Node$1;
941
906
  }
942
- declare interface TSImportTypeQualifiedName extends Span$1 {
943
- type: "TSQualifiedName";
944
- left: TSImportTypeQualifier;
945
- right: IdentifierName$1;
907
+ interface TSTypeOperator$1 extends Span$1 {
908
+ type: "TSTypeOperator";
909
+ operator: TSTypeOperatorOperator;
910
+ typeAnnotation: TSType$1;
911
+ parent?: Node$1;
912
+ }
913
+ type TSTypeOperatorOperator = "keyof" | "unique" | "readonly";
914
+ interface TSArrayType$1 extends Span$1 {
915
+ type: "TSArrayType";
916
+ elementType: TSType$1;
946
917
  parent?: Node$1;
947
918
  }
948
- declare type TSImportTypeQualifier = IdentifierName$1 | TSImportTypeQualifiedName;
949
- declare interface TSIndexedAccessType$1 extends Span$1 {
919
+ interface TSIndexedAccessType$1 extends Span$1 {
950
920
  type: "TSIndexedAccessType";
951
921
  objectType: TSType$1;
952
922
  indexType: TSType$1;
953
923
  parent?: Node$1;
954
924
  }
955
- declare interface TSIndexSignature$1 extends Span$1 {
956
- type: "TSIndexSignature";
957
- parameters: Array<TSIndexSignatureName>;
958
- typeAnnotation: TSTypeAnnotation$1;
959
- readonly: boolean;
960
- static: boolean;
961
- accessibility: null;
925
+ interface TSTupleType$1 extends Span$1 {
926
+ type: "TSTupleType";
927
+ elementTypes: Array<TSTupleElement>;
962
928
  parent?: Node$1;
963
929
  }
964
- declare interface TSIndexSignatureName extends Span$1 {
965
- type: "Identifier";
966
- decorators: [];
967
- name: string;
968
- optional: false;
969
- typeAnnotation: TSTypeAnnotation$1;
930
+ interface TSNamedTupleMember$1 extends Span$1 {
931
+ type: "TSNamedTupleMember";
932
+ label: IdentifierName$1;
933
+ elementType: TSTupleElement;
934
+ optional: boolean;
970
935
  parent?: Node$1;
971
936
  }
972
- declare interface TSInferType$1 extends Span$1 {
973
- type: "TSInferType";
974
- typeParameter: TSTypeParameter;
937
+ interface TSOptionalType$1 extends Span$1 {
938
+ type: "TSOptionalType";
939
+ typeAnnotation: TSType$1;
975
940
  parent?: Node$1;
976
941
  }
977
- declare interface TSInstantiationExpression$1 extends Span$1 {
978
- type: "TSInstantiationExpression";
979
- expression: Expression$1;
980
- typeArguments: TSTypeParameterInstantiation$1;
942
+ interface TSRestType$1 extends Span$1 {
943
+ type: "TSRestType";
944
+ typeAnnotation: TSType$1;
981
945
  parent?: Node$1;
982
946
  }
983
- declare interface TSInterfaceBody$1 extends Span$1 {
984
- type: "TSInterfaceBody";
985
- body: Array<TSSignature>;
947
+ type TSTupleElement = TSOptionalType$1 | TSRestType$1 | TSType$1;
948
+ interface TSAnyKeyword extends Span$1 {
949
+ type: "TSAnyKeyword";
986
950
  parent?: Node$1;
987
951
  }
988
- declare interface TSInterfaceDeclaration$1 extends Span$1 {
989
- type: "TSInterfaceDeclaration";
990
- id: BindingIdentifier$1;
991
- typeParameters: TSTypeParameterDeclaration$1 | null;
992
- extends: Array<TSInterfaceHeritage>;
993
- body: TSInterfaceBody$1;
994
- declare: boolean;
952
+ interface TSStringKeyword extends Span$1 {
953
+ type: "TSStringKeyword";
995
954
  parent?: Node$1;
996
955
  }
997
- declare interface TSInterfaceHeritage extends Span$1 {
998
- type: "TSInterfaceHeritage";
999
- expression: Expression$1;
1000
- typeArguments: TSTypeParameterInstantiation$1 | null;
956
+ interface TSBooleanKeyword extends Span$1 {
957
+ type: "TSBooleanKeyword";
1001
958
  parent?: Node$1;
1002
959
  }
1003
- declare interface TSIntersectionType$1 extends Span$1 {
1004
- type: "TSIntersectionType";
1005
- types: Array<TSType$1>;
960
+ interface TSNumberKeyword extends Span$1 {
961
+ type: "TSNumberKeyword";
962
+ parent?: Node$1;
963
+ }
964
+ interface TSNeverKeyword extends Span$1 {
965
+ type: "TSNeverKeyword";
1006
966
  parent?: Node$1;
1007
967
  }
1008
- declare interface TSIntrinsicKeyword extends Span$1 {
968
+ interface TSIntrinsicKeyword extends Span$1 {
1009
969
  type: "TSIntrinsicKeyword";
1010
970
  parent?: Node$1;
1011
971
  }
1012
- declare type TSLiteral = BooleanLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | StringLiteral$1 | TemplateLiteral$1 | UnaryExpression$1;
1013
- declare interface TSLiteralType$1 extends Span$1 {
1014
- type: "TSLiteralType";
1015
- literal: TSLiteral;
972
+ interface TSUnknownKeyword extends Span$1 {
973
+ type: "TSUnknownKeyword";
1016
974
  parent?: Node$1;
1017
975
  }
1018
- declare interface TSMappedType$1 extends Span$1 {
1019
- type: "TSMappedType";
1020
- key: BindingIdentifier$1;
1021
- constraint: TSType$1;
1022
- nameType: TSType$1 | null;
1023
- typeAnnotation: TSType$1 | null;
1024
- optional: TSMappedTypeModifierOperator | false;
1025
- readonly: TSMappedTypeModifierOperator | null;
976
+ interface TSNullKeyword extends Span$1 {
977
+ type: "TSNullKeyword";
1026
978
  parent?: Node$1;
1027
979
  }
1028
- declare type TSMappedTypeModifierOperator = true | "+" | "-";
1029
- declare interface TSMethodSignature$1 extends Span$1 {
1030
- type: "TSMethodSignature";
1031
- key: PropertyKey_2;
1032
- computed: boolean;
1033
- optional: boolean;
1034
- kind: TSMethodSignatureKind;
1035
- typeParameters: TSTypeParameterDeclaration$1 | null;
1036
- params: ParamPattern$1[];
1037
- returnType: TSTypeAnnotation$1 | null;
1038
- accessibility: null;
1039
- readonly: false;
1040
- static: false;
980
+ interface TSUndefinedKeyword extends Span$1 {
981
+ type: "TSUndefinedKeyword";
1041
982
  parent?: Node$1;
1042
983
  }
1043
- declare type TSMethodSignatureKind = "method" | "get" | "set";
1044
- declare interface TSModuleBlock$1 extends Span$1 {
1045
- type: "TSModuleBlock";
1046
- body: Array<Directive | Statement$1>;
984
+ interface TSVoidKeyword extends Span$1 {
985
+ type: "TSVoidKeyword";
1047
986
  parent?: Node$1;
1048
987
  }
1049
- declare interface TSModuleDeclaration$1 extends Span$1 {
1050
- type: "TSModuleDeclaration";
1051
- id: BindingIdentifier$1 | StringLiteral$1 | TSQualifiedName$1;
1052
- body: TSModuleBlock$1 | null;
1053
- kind: TSModuleDeclarationKind;
1054
- declare: boolean;
1055
- global: false;
988
+ interface TSSymbolKeyword extends Span$1 {
989
+ type: "TSSymbolKeyword";
1056
990
  parent?: Node$1;
1057
991
  }
1058
- declare type TSModuleDeclarationKind = "module" | "namespace";
1059
- declare type TSModuleReference = TSExternalModuleReference | IdentifierReference$1 | TSQualifiedName$1;
1060
- declare interface TSNamedTupleMember$1 extends Span$1 {
1061
- type: "TSNamedTupleMember";
1062
- label: IdentifierName$1;
1063
- elementType: TSTupleElement;
1064
- optional: boolean;
992
+ interface TSThisType extends Span$1 {
993
+ type: "TSThisType";
1065
994
  parent?: Node$1;
1066
995
  }
1067
- declare interface TSNamespaceExportDeclaration$1 extends Span$1 {
1068
- type: "TSNamespaceExportDeclaration";
1069
- id: IdentifierName$1;
996
+ interface TSObjectKeyword extends Span$1 {
997
+ type: "TSObjectKeyword";
1070
998
  parent?: Node$1;
1071
999
  }
1072
- declare interface TSNeverKeyword extends Span$1 {
1073
- type: "TSNeverKeyword";
1000
+ interface TSBigIntKeyword extends Span$1 {
1001
+ type: "TSBigIntKeyword";
1074
1002
  parent?: Node$1;
1075
1003
  }
1076
- declare interface TSNonNullExpression$1 extends Span$1 {
1077
- type: "TSNonNullExpression";
1078
- expression: Expression$1;
1004
+ interface TSTypeReference$1 extends Span$1 {
1005
+ type: "TSTypeReference";
1006
+ typeName: TSTypeName;
1007
+ typeArguments: TSTypeParameterInstantiation$1 | null;
1079
1008
  parent?: Node$1;
1080
1009
  }
1081
- declare interface TSNullKeyword extends Span$1 {
1082
- type: "TSNullKeyword";
1010
+ type TSTypeName = IdentifierReference$1 | TSQualifiedName$1 | ThisExpression$1;
1011
+ interface TSQualifiedName$1 extends Span$1 {
1012
+ type: "TSQualifiedName";
1013
+ left: TSTypeName;
1014
+ right: IdentifierName$1;
1083
1015
  parent?: Node$1;
1084
1016
  }
1085
- declare interface TSNumberKeyword extends Span$1 {
1086
- type: "TSNumberKeyword";
1017
+ interface TSTypeParameterInstantiation$1 extends Span$1 {
1018
+ type: "TSTypeParameterInstantiation";
1019
+ params: Array<TSType$1>;
1087
1020
  parent?: Node$1;
1088
1021
  }
1089
- declare interface TSObjectKeyword extends Span$1 {
1090
- type: "TSObjectKeyword";
1022
+ interface TSTypeParameter extends Span$1 {
1023
+ type: "TSTypeParameter";
1024
+ name: BindingIdentifier$1;
1025
+ constraint: TSType$1 | null;
1026
+ default: TSType$1 | null;
1027
+ in: boolean;
1028
+ out: boolean;
1029
+ const: boolean;
1091
1030
  parent?: Node$1;
1092
1031
  }
1093
- declare interface TSOptionalType$1 extends Span$1 {
1094
- type: "TSOptionalType";
1032
+ interface TSTypeParameterDeclaration$1 extends Span$1 {
1033
+ type: "TSTypeParameterDeclaration";
1034
+ params: Array<TSTypeParameter>;
1035
+ parent?: Node$1;
1036
+ }
1037
+ interface TSTypeAliasDeclaration$1 extends Span$1 {
1038
+ type: "TSTypeAliasDeclaration";
1039
+ id: BindingIdentifier$1;
1040
+ typeParameters: TSTypeParameterDeclaration$1 | null;
1095
1041
  typeAnnotation: TSType$1;
1042
+ declare: boolean;
1096
1043
  parent?: Node$1;
1097
1044
  }
1098
- declare interface TSParameterProperty extends Span$1 {
1099
- type: "TSParameterProperty";
1100
- accessibility: TSAccessibility | null;
1101
- decorators: Array<Decorator$1>;
1102
- override: boolean;
1103
- parameter: FormalParameter;
1104
- readonly: boolean;
1105
- static: boolean;
1045
+ type TSAccessibility = "private" | "protected" | "public";
1046
+ interface TSClassImplements extends Span$1 {
1047
+ type: "TSClassImplements";
1048
+ expression: IdentifierReference$1 | ThisExpression$1 | MemberExpression$1;
1049
+ typeArguments: TSTypeParameterInstantiation$1 | null;
1106
1050
  parent?: Node$1;
1107
1051
  }
1108
- declare interface TSParenthesizedType$1 extends Span$1 {
1109
- type: "TSParenthesizedType";
1110
- typeAnnotation: TSType$1;
1052
+ interface TSInterfaceDeclaration$1 extends Span$1 {
1053
+ type: "TSInterfaceDeclaration";
1054
+ id: BindingIdentifier$1;
1055
+ typeParameters: TSTypeParameterDeclaration$1 | null;
1056
+ extends: Array<TSInterfaceHeritage>;
1057
+ body: TSInterfaceBody$1;
1058
+ declare: boolean;
1059
+ parent?: Node$1;
1060
+ }
1061
+ interface TSInterfaceBody$1 extends Span$1 {
1062
+ type: "TSInterfaceBody";
1063
+ body: Array<TSSignature>;
1111
1064
  parent?: Node$1;
1112
1065
  }
1113
- declare interface TSPropertySignature$1 extends Span$1 {
1066
+ interface TSPropertySignature$1 extends Span$1 {
1114
1067
  type: "TSPropertySignature";
1115
1068
  computed: boolean;
1116
1069
  optional: boolean;
1117
1070
  readonly: boolean;
1118
- key: PropertyKey_2;
1071
+ key: PropertyKey;
1119
1072
  typeAnnotation: TSTypeAnnotation$1 | null;
1120
1073
  accessibility: null;
1121
1074
  static: false;
1122
1075
  parent?: Node$1;
1123
1076
  }
1124
- declare interface TSQualifiedName$1 extends Span$1 {
1125
- type: "TSQualifiedName";
1126
- left: TSTypeName;
1127
- right: IdentifierName$1;
1128
- parent?: Node$1;
1129
- }
1130
- declare interface TSRestType$1 extends Span$1 {
1131
- type: "TSRestType";
1132
- typeAnnotation: TSType$1;
1133
- parent?: Node$1;
1134
- }
1135
- declare interface TSSatisfiesExpression$1 extends Span$1 {
1136
- type: "TSSatisfiesExpression";
1137
- expression: Expression$1;
1138
- typeAnnotation: TSType$1;
1077
+ type TSSignature = TSIndexSignature$1 | TSPropertySignature$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSMethodSignature$1;
1078
+ interface TSIndexSignature$1 extends Span$1 {
1079
+ type: "TSIndexSignature";
1080
+ parameters: Array<TSIndexSignatureName>;
1081
+ typeAnnotation: TSTypeAnnotation$1;
1082
+ readonly: boolean;
1083
+ static: boolean;
1084
+ accessibility: null;
1139
1085
  parent?: Node$1;
1140
1086
  }
1141
- declare type TSSignature = TSIndexSignature$1 | TSPropertySignature$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSMethodSignature$1;
1142
- declare interface TSStringKeyword extends Span$1 {
1143
- type: "TSStringKeyword";
1087
+ interface TSCallSignatureDeclaration$1 extends Span$1 {
1088
+ type: "TSCallSignatureDeclaration";
1089
+ typeParameters: TSTypeParameterDeclaration$1 | null;
1090
+ params: ParamPattern$1[];
1091
+ returnType: TSTypeAnnotation$1 | null;
1144
1092
  parent?: Node$1;
1145
1093
  }
1146
- declare interface TSSymbolKeyword extends Span$1 {
1147
- type: "TSSymbolKeyword";
1094
+ type TSMethodSignatureKind = "method" | "get" | "set";
1095
+ interface TSMethodSignature$1 extends Span$1 {
1096
+ type: "TSMethodSignature";
1097
+ key: PropertyKey;
1098
+ computed: boolean;
1099
+ optional: boolean;
1100
+ kind: TSMethodSignatureKind;
1101
+ typeParameters: TSTypeParameterDeclaration$1 | null;
1102
+ params: ParamPattern$1[];
1103
+ returnType: TSTypeAnnotation$1 | null;
1104
+ accessibility: null;
1105
+ readonly: false;
1106
+ static: false;
1148
1107
  parent?: Node$1;
1149
1108
  }
1150
- declare interface TSTemplateLiteralType$1 extends Span$1 {
1151
- type: "TSTemplateLiteralType";
1152
- quasis: Array<TemplateElement$1>;
1153
- types: Array<TSType$1>;
1109
+ interface TSConstructSignatureDeclaration$1 extends Span$1 {
1110
+ type: "TSConstructSignatureDeclaration";
1111
+ typeParameters: TSTypeParameterDeclaration$1 | null;
1112
+ params: ParamPattern$1[];
1113
+ returnType: TSTypeAnnotation$1 | null;
1154
1114
  parent?: Node$1;
1155
1115
  }
1156
- declare interface TSThisParameter extends Span$1 {
1116
+ interface TSIndexSignatureName extends Span$1 {
1157
1117
  type: "Identifier";
1158
1118
  decorators: [];
1159
- name: "this";
1119
+ name: string;
1160
1120
  optional: false;
1161
- typeAnnotation: TSTypeAnnotation$1 | null;
1121
+ typeAnnotation: TSTypeAnnotation$1;
1162
1122
  parent?: Node$1;
1163
1123
  }
1164
- declare interface TSThisType extends Span$1 {
1165
- type: "TSThisType";
1124
+ interface TSInterfaceHeritage extends Span$1 {
1125
+ type: "TSInterfaceHeritage";
1126
+ expression: Expression$1;
1127
+ typeArguments: TSTypeParameterInstantiation$1 | null;
1166
1128
  parent?: Node$1;
1167
1129
  }
1168
- declare type TSTupleElement = TSOptionalType$1 | TSRestType$1 | TSType$1;
1169
- declare interface TSTupleType$1 extends Span$1 {
1170
- type: "TSTupleType";
1171
- elementTypes: Array<TSTupleElement>;
1130
+ interface TSTypePredicate$1 extends Span$1 {
1131
+ type: "TSTypePredicate";
1132
+ parameterName: TSTypePredicateName;
1133
+ asserts: boolean;
1134
+ typeAnnotation: TSTypeAnnotation$1 | null;
1172
1135
  parent?: Node$1;
1173
1136
  }
1174
- 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;
1175
- declare interface TSTypeAliasDeclaration$1 extends Span$1 {
1176
- type: "TSTypeAliasDeclaration";
1177
- id: BindingIdentifier$1;
1178
- typeParameters: TSTypeParameterDeclaration$1 | null;
1179
- typeAnnotation: TSType$1;
1137
+ type TSTypePredicateName = IdentifierName$1 | TSThisType;
1138
+ type TSModuleDeclarationKind = "module" | "namespace";
1139
+ interface TSModuleDeclaration$1 extends Span$1 {
1140
+ type: "TSModuleDeclaration";
1141
+ id: BindingIdentifier$1 | StringLiteral$1 | TSQualifiedName$1;
1142
+ body: TSModuleBlock$1 | null;
1143
+ kind: TSModuleDeclarationKind;
1180
1144
  declare: boolean;
1145
+ global: false;
1181
1146
  parent?: Node$1;
1182
1147
  }
1183
- declare interface TSTypeAnnotation$1 extends Span$1 {
1184
- type: "TSTypeAnnotation";
1185
- typeAnnotation: TSType$1;
1148
+ interface TSGlobalDeclaration extends Span$1 {
1149
+ type: "TSModuleDeclaration";
1150
+ id: IdentifierName$1;
1151
+ body: TSModuleBlock$1;
1152
+ kind: "global";
1153
+ declare: boolean;
1154
+ global: true;
1186
1155
  parent?: Node$1;
1187
1156
  }
1188
- declare interface TSTypeAssertion$1 extends Span$1 {
1189
- type: "TSTypeAssertion";
1190
- typeAnnotation: TSType$1;
1191
- expression: Expression$1;
1157
+ interface TSModuleBlock$1 extends Span$1 {
1158
+ type: "TSModuleBlock";
1159
+ body: Array<Directive | Statement$1>;
1192
1160
  parent?: Node$1;
1193
1161
  }
1194
- declare interface TSTypeLiteral extends Span$1 {
1162
+ interface TSTypeLiteral extends Span$1 {
1195
1163
  type: "TSTypeLiteral";
1196
1164
  members: Array<TSSignature>;
1197
1165
  parent?: Node$1;
1198
1166
  }
1199
- declare type TSTypeName = IdentifierReference$1 | TSQualifiedName$1 | ThisExpression$1;
1200
- declare interface TSTypeOperator$1 extends Span$1 {
1201
- type: "TSTypeOperator";
1202
- operator: TSTypeOperatorOperator;
1203
- typeAnnotation: TSType$1;
1167
+ interface TSInferType$1 extends Span$1 {
1168
+ type: "TSInferType";
1169
+ typeParameter: TSTypeParameter;
1204
1170
  parent?: Node$1;
1205
1171
  }
1206
- declare type TSTypeOperatorOperator = "keyof" | "unique" | "readonly";
1207
- declare interface TSTypeParameter extends Span$1 {
1208
- type: "TSTypeParameter";
1209
- name: BindingIdentifier$1;
1210
- constraint: TSType$1 | null;
1211
- default: TSType$1 | null;
1212
- in: boolean;
1213
- out: boolean;
1214
- const: boolean;
1172
+ interface TSTypeQuery$1 extends Span$1 {
1173
+ type: "TSTypeQuery";
1174
+ exprName: TSTypeQueryExprName;
1175
+ typeArguments: TSTypeParameterInstantiation$1 | null;
1215
1176
  parent?: Node$1;
1216
1177
  }
1217
- declare interface TSTypeParameterDeclaration$1 extends Span$1 {
1218
- type: "TSTypeParameterDeclaration";
1219
- params: Array<TSTypeParameter>;
1178
+ type TSTypeQueryExprName = TSImportType$1 | TSTypeName;
1179
+ interface TSImportType$1 extends Span$1 {
1180
+ type: "TSImportType";
1181
+ source: StringLiteral$1;
1182
+ options: ObjectExpression$1 | null;
1183
+ qualifier: TSImportTypeQualifier | null;
1184
+ typeArguments: TSTypeParameterInstantiation$1 | null;
1220
1185
  parent?: Node$1;
1221
1186
  }
1222
- declare interface TSTypeParameterInstantiation$1 extends Span$1 {
1223
- type: "TSTypeParameterInstantiation";
1224
- params: Array<TSType$1>;
1187
+ type TSImportTypeQualifier = IdentifierName$1 | TSImportTypeQualifiedName;
1188
+ interface TSImportTypeQualifiedName extends Span$1 {
1189
+ type: "TSQualifiedName";
1190
+ left: TSImportTypeQualifier;
1191
+ right: IdentifierName$1;
1225
1192
  parent?: Node$1;
1226
1193
  }
1227
- declare interface TSTypePredicate$1 extends Span$1 {
1228
- type: "TSTypePredicate";
1229
- parameterName: TSTypePredicateName;
1230
- asserts: boolean;
1231
- typeAnnotation: TSTypeAnnotation$1 | null;
1194
+ interface TSFunctionType$1 extends Span$1 {
1195
+ type: "TSFunctionType";
1196
+ typeParameters: TSTypeParameterDeclaration$1 | null;
1197
+ params: ParamPattern$1[];
1198
+ returnType: TSTypeAnnotation$1;
1232
1199
  parent?: Node$1;
1233
1200
  }
1234
- declare type TSTypePredicateName = IdentifierName$1 | TSThisType;
1235
- declare interface TSTypeQuery$1 extends Span$1 {
1236
- type: "TSTypeQuery";
1237
- exprName: TSTypeQueryExprName;
1238
- typeArguments: TSTypeParameterInstantiation$1 | null;
1201
+ interface TSConstructorType$1 extends Span$1 {
1202
+ type: "TSConstructorType";
1203
+ abstract: boolean;
1204
+ typeParameters: TSTypeParameterDeclaration$1 | null;
1205
+ params: ParamPattern$1[];
1206
+ returnType: TSTypeAnnotation$1;
1239
1207
  parent?: Node$1;
1240
1208
  }
1241
- declare type TSTypeQueryExprName = TSImportType$1 | TSTypeName;
1242
- declare interface TSTypeReference$1 extends Span$1 {
1243
- type: "TSTypeReference";
1244
- typeName: TSTypeName;
1245
- typeArguments: TSTypeParameterInstantiation$1 | null;
1209
+ interface TSMappedType$1 extends Span$1 {
1210
+ type: "TSMappedType";
1211
+ key: BindingIdentifier$1;
1212
+ constraint: TSType$1;
1213
+ nameType: TSType$1 | null;
1214
+ typeAnnotation: TSType$1 | null;
1215
+ optional: TSMappedTypeModifierOperator | false;
1216
+ readonly: TSMappedTypeModifierOperator | null;
1246
1217
  parent?: Node$1;
1247
1218
  }
1248
- declare interface TSUndefinedKeyword extends Span$1 {
1249
- type: "TSUndefinedKeyword";
1219
+ type TSMappedTypeModifierOperator = true | "+" | "-";
1220
+ interface TSTemplateLiteralType$1 extends Span$1 {
1221
+ type: "TSTemplateLiteralType";
1222
+ quasis: Array<TemplateElement$1>;
1223
+ types: Array<TSType$1>;
1250
1224
  parent?: Node$1;
1251
1225
  }
1252
- declare interface TSUnionType$1 extends Span$1 {
1253
- type: "TSUnionType";
1254
- types: Array<TSType$1>;
1226
+ interface TSAsExpression$1 extends Span$1 {
1227
+ type: "TSAsExpression";
1228
+ expression: Expression$1;
1229
+ typeAnnotation: TSType$1;
1255
1230
  parent?: Node$1;
1256
1231
  }
1257
- declare interface TSUnknownKeyword extends Span$1 {
1258
- type: "TSUnknownKeyword";
1232
+ interface TSSatisfiesExpression$1 extends Span$1 {
1233
+ type: "TSSatisfiesExpression";
1234
+ expression: Expression$1;
1235
+ typeAnnotation: TSType$1;
1259
1236
  parent?: Node$1;
1260
1237
  }
1261
- declare interface TSVoidKeyword extends Span$1 {
1262
- type: "TSVoidKeyword";
1238
+ interface TSTypeAssertion$1 extends Span$1 {
1239
+ type: "TSTypeAssertion";
1240
+ typeAnnotation: TSType$1;
1241
+ expression: Expression$1;
1263
1242
  parent?: Node$1;
1264
1243
  }
1265
- declare interface UnaryExpression$1 extends Span$1 {
1266
- type: "UnaryExpression";
1267
- operator: UnaryOperator;
1268
- argument: Expression$1;
1269
- prefix: true;
1244
+ interface TSImportEqualsDeclaration$1 extends Span$1 {
1245
+ type: "TSImportEqualsDeclaration";
1246
+ id: BindingIdentifier$1;
1247
+ moduleReference: TSModuleReference;
1248
+ importKind: ImportOrExportKind;
1270
1249
  parent?: Node$1;
1271
1250
  }
1272
- declare type UnaryOperator = "+" | "-" | "!" | "~" | "typeof" | "void" | "delete";
1273
- declare interface UpdateExpression$1 extends Span$1 {
1274
- type: "UpdateExpression";
1275
- operator: UpdateOperator;
1276
- prefix: boolean;
1277
- argument: SimpleAssignmentTarget$1;
1251
+ type TSModuleReference = TSExternalModuleReference | IdentifierReference$1 | TSQualifiedName$1;
1252
+ interface TSExternalModuleReference extends Span$1 {
1253
+ type: "TSExternalModuleReference";
1254
+ expression: StringLiteral$1;
1278
1255
  parent?: Node$1;
1279
1256
  }
1280
- declare type UpdateOperator = "++" | "--";
1281
- declare interface V8IntrinsicExpression extends Span$1 {
1282
- type: "V8IntrinsicExpression";
1283
- name: IdentifierName$1;
1284
- arguments: Array<Argument$1>;
1257
+ interface TSNonNullExpression$1 extends Span$1 {
1258
+ type: "TSNonNullExpression";
1259
+ expression: Expression$1;
1285
1260
  parent?: Node$1;
1286
1261
  }
1287
- declare interface VariableDeclaration$1 extends Span$1 {
1288
- type: "VariableDeclaration";
1289
- kind: VariableDeclarationKind;
1290
- declarations: Array<VariableDeclarator$1>;
1291
- declare?: boolean;
1262
+ interface Decorator$1 extends Span$1 {
1263
+ type: "Decorator";
1264
+ expression: Expression$1;
1292
1265
  parent?: Node$1;
1293
1266
  }
1294
- declare type VariableDeclarationKind = "var" | "let" | "const" | "using" | "await using";
1295
- declare interface VariableDeclarator$1 extends Span$1 {
1296
- type: "VariableDeclarator";
1297
- id: BindingPattern$1;
1298
- init: Expression$1 | null;
1299
- definite?: boolean;
1267
+ interface TSExportAssignment$1 extends Span$1 {
1268
+ type: "TSExportAssignment";
1269
+ expression: Expression$1;
1300
1270
  parent?: Node$1;
1301
1271
  }
1302
- declare interface WhileStatement$1 extends Span$1 {
1303
- type: "WhileStatement";
1304
- test: Expression$1;
1305
- body: Statement$1;
1272
+ interface TSNamespaceExportDeclaration$1 extends Span$1 {
1273
+ type: "TSNamespaceExportDeclaration";
1274
+ id: IdentifierName$1;
1306
1275
  parent?: Node$1;
1307
1276
  }
1308
- declare interface WithStatement$1 extends Span$1 {
1309
- type: "WithStatement";
1310
- object: Expression$1;
1311
- body: Statement$1;
1277
+ interface TSInstantiationExpression$1 extends Span$1 {
1278
+ type: "TSInstantiationExpression";
1279
+ expression: Expression$1;
1280
+ typeArguments: TSTypeParameterInstantiation$1;
1312
1281
  parent?: Node$1;
1313
1282
  }
1314
- declare interface YieldExpression$1 extends Span$1 {
1315
- type: "YieldExpression";
1316
- delegate: boolean;
1317
- argument: Expression$1 | null;
1283
+ type ImportOrExportKind = "value" | "type";
1284
+ interface JSDocNullableType$1 extends Span$1 {
1285
+ type: "TSJSDocNullableType";
1286
+ typeAnnotation: TSType$1;
1287
+ postfix: boolean;
1288
+ parent?: Node$1;
1289
+ }
1290
+ interface JSDocNonNullableType$1 extends Span$1 {
1291
+ type: "TSJSDocNonNullableType";
1292
+ typeAnnotation: TSType$1;
1293
+ postfix: boolean;
1294
+ parent?: Node$1;
1295
+ }
1296
+ interface JSDocUnknownType extends Span$1 {
1297
+ type: "TSJSDocUnknownType";
1318
1298
  parent?: Node$1;
1319
1299
  }
1300
+ type ModuleKind = "script" | "module" | "commonjs";
1301
+ interface Span$1 {
1302
+ start: number;
1303
+ end: number;
1304
+ range?: [number, number];
1305
+ }
1306
+ type AssignmentOperator = "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "**=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "||=" | "&&=" | "??=";
1307
+ type BinaryOperator = "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "+" | "-" | "*" | "/" | "%" | "**" | "<<" | ">>" | ">>>" | "|" | "^" | "&" | "in" | "instanceof";
1308
+ type LogicalOperator = "||" | "&&" | "??";
1309
+ type UnaryOperator = "+" | "-" | "!" | "~" | "typeof" | "void" | "delete";
1310
+ type UpdateOperator = "++" | "--";
1311
+ 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;
1312
+ //#endregion
1313
+ //#region src/node.d.ts
1314
+ type Simplify<T> = { [K in keyof T]: T[K]; } & {};
1315
+ 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;
1316
+ 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;
1317
+ type Program = Simplify<Built<Program$1>>;
1318
+ type Statement = Simplify<Built<Statement$1>> | Statement$1;
1319
+ type Node = Simplify<Built<Node$1>> | Node$1;
1320
+ //#endregion
1321
+ //#region src/ignorer.d.ts
1322
+ interface Ignorer {
1323
+ readonly name: string;
1324
+ shouldIgnore(node: Node, ancestors: readonly Node[]): string | undefined;
1325
+ }
1320
1326
  //#endregion
1321
1327
  //#region ../stryker-js-plugin-interface/dist/index.d.mts
1322
1328
  //#region src/Checker.schema.d.ts
@@ -1355,6 +1361,15 @@ declare const CheckerMutantWire: S.Struct<{
1355
1361
  }>, never, never>;
1356
1362
  }>;
1357
1363
  type CheckerMutantWire = typeof CheckerMutantWire.Type;
1364
+ /**
1365
+ * The digest of the TypeScript program a checker loaded: SHA-256 over the sorted
1366
+ * hashes of every source file in the program (lib and node_modules declarations
1367
+ * included), every tsconfig in its chain, the TypeScript version, the checker
1368
+ * plugin version, and the checker's options. A `CompileError` verdict is reusable
1369
+ * only when two runs' digests are byte-equal, so a missing digest is never a match.
1370
+ */
1371
+ declare const ProgramDigest: S.brand<S.String, "ProgramDigest">;
1372
+ type ProgramDigest = typeof ProgramDigest.Type;
1358
1373
  declare const CheckResultSchema: S.toTaggedUnion<"status", readonly [S.Struct<{
1359
1374
  readonly status: S.Literal<"passed">;
1360
1375
  }>, S.Struct<{
@@ -1364,13 +1379,25 @@ declare const CheckResultSchema: S.toTaggedUnion<"status", readonly [S.Struct<{
1364
1379
  readonly status: S.Literal<"ignored">;
1365
1380
  readonly reason: S.String;
1366
1381
  }>]>;
1382
+ declare const CheckAnswerSchema: S.toTaggedUnion<"status", readonly [S.Struct<{
1383
+ readonly status: S.Literal<"passed">;
1384
+ }>, S.Struct<{
1385
+ readonly status: S.Literal<"compileError">;
1386
+ readonly reason: S.String;
1387
+ }>, S.Struct<{
1388
+ readonly status: S.Literal<"ignored">;
1389
+ readonly reason: S.optional<S.Unknown>;
1390
+ }>]>;
1391
+ type CheckAnswer = typeof CheckAnswerSchema.Type;
1367
1392
  declare const CheckStatus: S.Literals<readonly ["passed", "compileError", "ignored"]>;
1368
1393
  type CheckStatus = typeof CheckStatus.Type;
1369
1394
  declare const CheckerFailed_base: S.Class<CheckerFailed, S.TaggedStruct<"CheckerFailed", {
1370
1395
  readonly cause: S.String;
1371
1396
  readonly checkerName: S.String;
1372
1397
  readonly mutantIds: S.$Array<S.brand<S.String, "MutantId">>;
1373
- }>, import("effect/Cause").YieldableError>;
1398
+ }>, import("effect/Cause").YieldableError & {
1399
+ readonly brand: unique symbol;
1400
+ }>;
1374
1401
  declare class CheckerFailed extends CheckerFailed_base {
1375
1402
  get message(): string;
1376
1403
  }
@@ -1390,11 +1417,12 @@ interface CheckerService {
1390
1417
  readonly init: Effect$1.Effect<void, CheckerFailed>;
1391
1418
  readonly check: (mutants: readonly CheckerMutantWire[]) => Effect$1.Effect<HashMap.HashMap<string, CheckResult>, CheckerFailed>;
1392
1419
  readonly group: (mutants: readonly CheckerMutantWire[]) => Effect$1.Effect<readonly (readonly string[])[], CheckerFailed>;
1420
+ readonly digest: Effect$1.Effect<ProgramDigest, CheckerFailed>;
1393
1421
  }
1394
1422
  declare const Checker_base: Context.ServiceClass<Checker, "@systemfsoftware/stryker-js-plugin-interface/Checker.service/Checker", CheckerService>;
1395
1423
  declare class Checker extends Checker_base {}
1396
1424
  declare namespace mod_d_exports {
1397
- export { CheckResult, CheckResultSchema, CheckStatus, Checker, CheckerFailed, CheckerMutantWire, CheckerService, FailedCheckResult, IgnoredCheckResult, PassedCheckResult };
1425
+ export { CheckAnswer, CheckAnswerSchema, CheckResult, CheckResultSchema, CheckStatus, Checker, CheckerFailed, CheckerMutantWire, CheckerService, FailedCheckResult, IgnoredCheckResult, PassedCheckResult, ProgramDigest };
1398
1426
  }
1399
1427
  //#endregion
1400
1428
  //#region src/Mutant.schema.d.ts
@@ -1402,18 +1430,85 @@ declare const MutantStatusSchema: S.Literals<readonly ["Killed", "Survived", "No
1402
1430
  type MutantStatus = typeof MutantStatusSchema.Type;
1403
1431
  declare const SurvivorStatusSchema: S.Literals<readonly ["Survived", "NoCoverage"]>;
1404
1432
  type SurvivorStatus = typeof SurvivorStatusSchema.Type;
1405
- declare const RememberedStatusSchema: S.Literals<readonly ["Survived", "Killed", "Timeout", "NoCoverage", "Ignored"]>;
1433
+ declare const RememberedStatusSchema: S.Literals<readonly ["Survived", "Killed", "Timeout", "NoCoverage", "Ignored", "CompileError"]>;
1406
1434
  type RememberedStatus = typeof RememberedStatusSchema.Type;
1407
1435
  declare const EphemeralStatusSchema: S.Literals<readonly ["CompileError", "RuntimeError", "Pending"]>;
1408
1436
  type EphemeralStatus = typeof EphemeralStatusSchema.Type;
1409
1437
  declare const ActionableStatusSchema: S.Literals<readonly ["Survived", "NoCoverage", "Timeout", "RuntimeError"]>;
1410
1438
  type ActionableStatus = typeof ActionableStatusSchema.Type;
1439
+ declare const SettledStatusSchema: S.Literals<readonly ["Killed", "Survived", "NoCoverage", "CompileError", "RuntimeError", "Timeout", "Pending"]>;
1440
+ type SettledStatus = typeof SettledStatusSchema.Type;
1411
1441
  declare const MutantId: S.brand<S.String, "MutantId">;
1412
1442
  type MutantId = typeof MutantId.Type;
1413
1443
  declare const MutatorName: S.brand<S.String, "MutatorName">;
1414
1444
  type MutatorName = typeof MutatorName.Type;
1415
1445
  declare const CanonicalFileName: S.decodeTo<S.brand<S.String, "CanonicalFileName">, S.String, never, never>;
1416
1446
  type CanonicalFileName = typeof CanonicalFileName.Type;
1447
+ declare const Subsumed: S.TaggedStruct<"Subsumed", {
1448
+ readonly rule: S.Literals<readonly ["complement"]>;
1449
+ readonly dominators: S.NonEmptyArray<S.brand<S.String, "MutantId">>;
1450
+ }>;
1451
+ type Subsumed = typeof Subsumed.Type;
1452
+ declare const subsumedStatusReason: (subsumed: Subsumed) => string;
1453
+ /**
1454
+ * Why a subsumed mutant ran after all: none of its dominators ran, and each
1455
+ * cause names one dominator and why it did not run, in `dominators` order.
1456
+ */
1457
+ declare const ReadmitCauseCode: S.Literals<readonly ["dominator-ignored-at-check", "dominator-compile-error", "dominator-ignored-at-plan", "dominator-remembered-without-running", "dominator-unsettled"]>;
1458
+ type ReadmitCauseCode = typeof ReadmitCauseCode.Type;
1459
+ declare const Readmitted: S.TaggedStruct<"Readmitted", {
1460
+ readonly rule: S.Literals<readonly ["complement"]>;
1461
+ readonly causes: S.NonEmptyArray<S.Struct<{
1462
+ readonly dominator: S.brand<S.String, "MutantId">;
1463
+ readonly code: S.Literals<readonly ["dominator-ignored-at-check", "dominator-compile-error", "dominator-ignored-at-plan", "dominator-remembered-without-running", "dominator-unsettled"]>;
1464
+ readonly detail: S.String;
1465
+ }>>;
1466
+ }>;
1467
+ type Readmitted = typeof Readmitted.Type;
1468
+ declare const Subsumption: S.Union<readonly [S.TaggedStruct<"Subsumed", {
1469
+ readonly rule: S.Literals<readonly ["complement"]>;
1470
+ readonly dominators: S.NonEmptyArray<S.brand<S.String, "MutantId">>;
1471
+ }>, S.TaggedStruct<"Readmitted", {
1472
+ readonly rule: S.Literals<readonly ["complement"]>;
1473
+ readonly causes: S.NonEmptyArray<S.Struct<{
1474
+ readonly dominator: S.brand<S.String, "MutantId">;
1475
+ readonly code: S.Literals<readonly ["dominator-ignored-at-check", "dominator-compile-error", "dominator-ignored-at-plan", "dominator-remembered-without-running", "dominator-unsettled"]>;
1476
+ readonly detail: S.String;
1477
+ }>>;
1478
+ }>]>;
1479
+ type Subsumption = typeof Subsumption.Type;
1480
+ declare const ProbeKind: S.Literals<readonly ["arithmetic", "relational", "unary", "constant"]>;
1481
+ type ProbeKind = typeof ProbeKind.Type;
1482
+ declare const Probed: S.TaggedStruct<"Probed", {
1483
+ readonly kind: S.Literals<readonly ["arithmetic", "relational", "unary", "constant"]>;
1484
+ }>;
1485
+ type Probed = typeof Probed.Type;
1486
+ /**
1487
+ * Why a mutant carries no probe and runs exactly as it would without one:
1488
+ * - `mutator-not-probed`: its mutator is outside the probed set.
1489
+ * - `operator-not-probed`: its mutator is probed, but not for this original operator.
1490
+ * - `every-reach-infects`: an `==`/`!=`/`===`/`!==` swap changes the value on every evaluation.
1491
+ * - `not-a-comparison`: a constant replacement of an expression that is not a comparison.
1492
+ * - `operand-not-proven-local`: a constant replacement of a comparison whose operand may run user code.
1493
+ * - `shape-not-recognized`: the original and replacement nodes do not have the probed form.
1494
+ * - `not-decided`: the mutant was built or decoded without an eligibility decision.
1495
+ */
1496
+ declare const UnprobedReason: S.Literals<readonly ["mutator-not-probed", "operator-not-probed", "every-reach-infects", "not-a-comparison", "operand-not-proven-local", "shape-not-recognized", "not-decided"]>;
1497
+ type UnprobedReason = typeof UnprobedReason.Type;
1498
+ declare const Unprobed: S.TaggedStruct<"Unprobed", {
1499
+ readonly reason: S.Literals<readonly ["mutator-not-probed", "operator-not-probed", "every-reach-infects", "not-a-comparison", "operand-not-proven-local", "shape-not-recognized", "not-decided"]>;
1500
+ }>;
1501
+ type Unprobed = typeof Unprobed.Type;
1502
+ declare const ProbeEligibility: S.Union<readonly [S.TaggedStruct<"Probed", {
1503
+ readonly kind: S.Literals<readonly ["arithmetic", "relational", "unary", "constant"]>;
1504
+ }>, S.TaggedStruct<"Unprobed", {
1505
+ readonly reason: S.Literals<readonly ["mutator-not-probed", "operator-not-probed", "every-reach-infects", "not-a-comparison", "operand-not-proven-local", "shape-not-recognized", "not-decided"]>;
1506
+ }>]>;
1507
+ type ProbeEligibility = typeof ProbeEligibility.Type;
1508
+ declare const subsumptionMatchesStatus: {
1509
+ (status: MutantStatus | undefined): (subsumption: Subsumption) => boolean;
1510
+ (subsumption: Subsumption, status: MutantStatus | undefined): boolean;
1511
+ };
1417
1512
  /**
1418
1513
  * A mutant's file location in the mutation-testing-report-schema contract:
1419
1514
  * 1-based line and 1-based column, the same base the JSON report and the
@@ -1460,6 +1555,22 @@ declare const Mutant: S.Struct<{
1460
1555
  readonly static: S.optional<S.Boolean>;
1461
1556
  readonly testsCompleted: S.optional<S.Finite>;
1462
1557
  readonly description: S.optional<S.String>;
1558
+ readonly subsumption: S.optional<S.Union<readonly [S.TaggedStruct<"Subsumed", {
1559
+ readonly rule: S.Literals<readonly ["complement"]>;
1560
+ readonly dominators: S.NonEmptyArray<S.brand<S.String, "MutantId">>;
1561
+ }>, S.TaggedStruct<"Readmitted", {
1562
+ readonly rule: S.Literals<readonly ["complement"]>;
1563
+ readonly causes: S.NonEmptyArray<S.Struct<{
1564
+ readonly dominator: S.brand<S.String, "MutantId">;
1565
+ readonly code: S.Literals<readonly ["dominator-ignored-at-check", "dominator-compile-error", "dominator-ignored-at-plan", "dominator-remembered-without-running", "dominator-unsettled"]>;
1566
+ readonly detail: S.String;
1567
+ }>>;
1568
+ }>]>>;
1569
+ readonly probeEligibility: S.withDecodingDefaultKey<S.withConstructorDefault<S.Union<readonly [S.TaggedStruct<"Probed", {
1570
+ readonly kind: S.Literals<readonly ["arithmetic", "relational", "unary", "constant"]>;
1571
+ }>, S.TaggedStruct<"Unprobed", {
1572
+ readonly reason: S.Literals<readonly ["mutator-not-probed", "operator-not-probed", "every-reach-infects", "not-a-comparison", "operand-not-proven-local", "shape-not-recognized", "not-decided"]>;
1573
+ }>]>>, never>;
1463
1574
  }>;
1464
1575
  type Mutant = typeof Mutant.Type;
1465
1576
  declare const MutantFromUnknown: S.compose<S.Struct<{
@@ -1502,6 +1613,22 @@ declare const MutantFromUnknown: S.compose<S.Struct<{
1502
1613
  readonly static: S.optional<S.Boolean>;
1503
1614
  readonly testsCompleted: S.optional<S.Finite>;
1504
1615
  readonly description: S.optional<S.String>;
1616
+ readonly subsumption: S.optional<S.Union<readonly [S.TaggedStruct<"Subsumed", {
1617
+ readonly rule: S.Literals<readonly ["complement"]>;
1618
+ readonly dominators: S.NonEmptyArray<S.brand<S.String, "MutantId">>;
1619
+ }>, S.TaggedStruct<"Readmitted", {
1620
+ readonly rule: S.Literals<readonly ["complement"]>;
1621
+ readonly causes: S.NonEmptyArray<S.Struct<{
1622
+ readonly dominator: S.brand<S.String, "MutantId">;
1623
+ readonly code: S.Literals<readonly ["dominator-ignored-at-check", "dominator-compile-error", "dominator-ignored-at-plan", "dominator-remembered-without-running", "dominator-unsettled"]>;
1624
+ readonly detail: S.String;
1625
+ }>>;
1626
+ }>]>>;
1627
+ readonly probeEligibility: S.withDecodingDefaultKey<S.withConstructorDefault<S.Union<readonly [S.TaggedStruct<"Probed", {
1628
+ readonly kind: S.Literals<readonly ["arithmetic", "relational", "unary", "constant"]>;
1629
+ }>, S.TaggedStruct<"Unprobed", {
1630
+ readonly reason: S.Literals<readonly ["mutator-not-probed", "operator-not-probed", "every-reach-infects", "not-a-comparison", "operand-not-proven-local", "shape-not-recognized", "not-decided"]>;
1631
+ }>]>>, never>;
1505
1632
  }>, S.Unknown>;
1506
1633
  type MutantFromUnknown = typeof MutantFromUnknown.Type;
1507
1634
  declare const RunOptionsFields: {
@@ -1554,6 +1681,22 @@ declare const MutantRunOptionsSchema: S.Struct<{
1554
1681
  readonly static: S.optional<S.Boolean>;
1555
1682
  readonly testsCompleted: S.optional<S.Finite>;
1556
1683
  readonly description: S.optional<S.String>;
1684
+ readonly subsumption: S.optional<S.Union<readonly [S.TaggedStruct<"Subsumed", {
1685
+ readonly rule: S.Literals<readonly ["complement"]>;
1686
+ readonly dominators: S.NonEmptyArray<S.brand<S.String, "MutantId">>;
1687
+ }>, S.TaggedStruct<"Readmitted", {
1688
+ readonly rule: S.Literals<readonly ["complement"]>;
1689
+ readonly causes: S.NonEmptyArray<S.Struct<{
1690
+ readonly dominator: S.brand<S.String, "MutantId">;
1691
+ readonly code: S.Literals<readonly ["dominator-ignored-at-check", "dominator-compile-error", "dominator-ignored-at-plan", "dominator-remembered-without-running", "dominator-unsettled"]>;
1692
+ readonly detail: S.String;
1693
+ }>>;
1694
+ }>]>>;
1695
+ readonly probeEligibility: S.withDecodingDefaultKey<S.withConstructorDefault<S.Union<readonly [S.TaggedStruct<"Probed", {
1696
+ readonly kind: S.Literals<readonly ["arithmetic", "relational", "unary", "constant"]>;
1697
+ }>, S.TaggedStruct<"Unprobed", {
1698
+ readonly reason: S.Literals<readonly ["mutator-not-probed", "operator-not-probed", "every-reach-infects", "not-a-comparison", "operand-not-proven-local", "shape-not-recognized", "not-decided"]>;
1699
+ }>]>>, never>;
1557
1700
  }>;
1558
1701
  readonly sandboxFileName: S.String;
1559
1702
  readonly mutantActivation: S.Literals<readonly ["runtime", "static"]>;
@@ -2047,14 +2190,64 @@ type ExitClass = typeof ExitClass.Type;
2047
2190
  declare const ExitCodeFromClass: S.decodeTo<S.Literals<readonly [1, 2, 3, 4]>, S.Literals<readonly ["VerdictFail", "ConfigError", "RuntimeError", "InternalError"]>, never, never>;
2048
2191
  //#endregion
2049
2192
  //#region src/ignore-rule.schema.d.ts
2050
- declare const IgnoreRuleId: S.Literals<readonly ["arid-logging", "arid-telemetry", "arid-time", "arid-config-default", "arid-memoization", "redundant-relational", "equivalent-to-original", "duplicate-at-site", "ignore-static", "directive", "excluded-mutator", "ignorer"]>;
2193
+ declare const IgnoreRuleId: S.Union<readonly (S.Literal<"arid-config-default"> | S.Literal<"arid-logging"> | S.Literal<"arid-memoization"> | S.Literal<"arid-telemetry"> | S.Literal<"arid-time"> | S.Literal<"checker"> | S.Literal<"directive"> | S.Literal<"duplicate-at-site"> | S.Literal<"equivalent-to-original"> | S.Literal<"excluded-mutator"> | S.Literal<"ignore-static"> | S.Literal<"ignorer"> | S.Literal<"redundant-relational">)[]>;
2051
2194
  type IgnoreRuleId = typeof IgnoreRuleId.Type;
2195
+ declare const SettledReasonCode: S.Union<readonly S.Literal<"compile-error" | "coverage-not-measured" | "covered-not-killed" | "killed" | "not-covered" | "remembered" | "runtime-error" | "timed-out">[]>;
2196
+ type SettledReasonCode = typeof SettledReasonCode.Type;
2197
+ declare const RunFailureCode: S.Union<readonly (S.Literal<"budget-exceeded"> | S.Literal<"config-invalid"> | S.Literal<"initial-test-run-failed"> | S.Literal<"mutation-runs-on-main-ci"> | S.Literal<"new-survivors"> | S.Literal<"plugin-load-failed"> | S.Literal<"score-below-break"> | S.Literal<"shard-reports-missing"> | S.Literal<"shard-reports-overlap">)[]>;
2198
+ type RunFailureCode = typeof RunFailureCode.Type;
2199
+ declare const ToolRefusalCode: S.Union<readonly (S.Literal<"cursor-stale"> | S.Literal<"report-missing"> | S.Literal<"report-unreadable"> | S.Literal<"rerun-refused"> | S.Literal<"unknown-mutant-id">)[]>;
2200
+ type ToolRefusalCode = typeof ToolRefusalCode.Type;
2052
2201
  declare const IgnoreStatusReasonText: S.String;
2053
2202
  declare const IgnoreStatusReason: S.decodeTo<S.Struct<{
2054
- readonly ruleId: S.Literals<readonly ["arid-logging", "arid-telemetry", "arid-time", "arid-config-default", "arid-memoization", "redundant-relational", "equivalent-to-original", "duplicate-at-site", "ignore-static", "directive", "excluded-mutator", "ignorer"]>;
2203
+ readonly code: S.Union<readonly (S.Literal<"arid-config-default"> | S.Literal<"arid-logging"> | S.Literal<"arid-memoization"> | S.Literal<"arid-telemetry"> | S.Literal<"arid-time"> | S.Literal<"checker"> | S.Literal<"directive"> | S.Literal<"duplicate-at-site"> | S.Literal<"equivalent-to-original"> | S.Literal<"excluded-mutator"> | S.Literal<"ignore-static"> | S.Literal<"ignorer"> | S.Literal<"redundant-relational">)[]>;
2055
2204
  readonly detail: S.String;
2056
2205
  }>, S.String, never, never>;
2057
2206
  type IgnoreStatusReason = typeof IgnoreStatusReason.Type;
2207
+ declare const StatusReason: S.Union<readonly [S.Struct<{
2208
+ readonly status: S.Literal<"Ignored">;
2209
+ readonly statusReason: S.decodeTo<S.Struct<{
2210
+ readonly code: S.Union<readonly (S.Literal<"arid-config-default"> | S.Literal<"arid-logging"> | S.Literal<"arid-memoization"> | S.Literal<"arid-telemetry"> | S.Literal<"arid-time"> | S.Literal<"checker"> | S.Literal<"directive"> | S.Literal<"duplicate-at-site"> | S.Literal<"equivalent-to-original"> | S.Literal<"excluded-mutator"> | S.Literal<"ignore-static"> | S.Literal<"ignorer"> | S.Literal<"redundant-relational">)[]>;
2211
+ readonly detail: S.String;
2212
+ }>, S.String, never, never>;
2213
+ }>, S.Struct<{
2214
+ readonly status: S.Literal<"Killed">;
2215
+ readonly statusReason: S.decodeTo<S.Struct<{
2216
+ readonly code: S.Literals<readonly ["killed", "remembered"]>;
2217
+ readonly detail: S.String;
2218
+ }>, S.String, never, never>;
2219
+ }>, S.Struct<{
2220
+ readonly status: S.Literal<"Survived">;
2221
+ readonly statusReason: S.decodeTo<S.Struct<{
2222
+ readonly code: S.Literals<readonly ["covered-not-killed", "coverage-not-measured", "remembered"]>;
2223
+ readonly detail: S.String;
2224
+ }>, S.String, never, never>;
2225
+ }>, S.Struct<{
2226
+ readonly status: S.Literal<"NoCoverage">;
2227
+ readonly statusReason: S.decodeTo<S.Struct<{
2228
+ readonly code: S.Literals<readonly ["not-covered", "remembered"]>;
2229
+ readonly detail: S.String;
2230
+ }>, S.String, never, never>;
2231
+ }>, S.Struct<{
2232
+ readonly status: S.Literal<"Timeout">;
2233
+ readonly statusReason: S.decodeTo<S.Struct<{
2234
+ readonly code: S.Literals<readonly ["timed-out", "remembered"]>;
2235
+ readonly detail: S.String;
2236
+ }>, S.String, never, never>;
2237
+ }>, S.Struct<{
2238
+ readonly status: S.Literal<"RuntimeError">;
2239
+ readonly statusReason: S.decodeTo<S.Struct<{
2240
+ readonly code: S.Literals<readonly ["runtime-error"]>;
2241
+ readonly detail: S.String;
2242
+ }>, S.String, never, never>;
2243
+ }>, S.Struct<{
2244
+ readonly status: S.Literal<"CompileError">;
2245
+ readonly statusReason: S.decodeTo<S.Struct<{
2246
+ readonly code: S.Literals<readonly ["compile-error", "remembered"]>;
2247
+ readonly detail: S.String;
2248
+ }>, S.String, never, never>;
2249
+ }>]>;
2250
+ type StatusReason = typeof StatusReason.Type;
2058
2251
  //#endregion
2059
2252
  //#region src/Location.schema.d.ts
2060
2253
  /** A 1-based line: the first line of a file is line 1. */
@@ -2072,8 +2265,8 @@ interface Ends<A> {
2072
2265
  readonly start: A;
2073
2266
  readonly end: A;
2074
2267
  }
2075
- declare const inOrder: <A>(order: Order.Order<A>) => (ends: Ends<A>) => Ends<A>;
2076
- declare const notReversed: <A>(order: Order.Order<A>) => (ends: Ends<A>) => boolean;
2268
+ declare const inOrder: <A>(order: Order$1.Order<A>) => (ends: Ends<A>) => Ends<A>;
2269
+ declare const notReversed: <A>(order: Order$1.Order<A>) => (ends: Ends<A>) => boolean;
2077
2270
  declare const Location: S.decodeTo<S.declare<{
2078
2271
  readonly start: {
2079
2272
  readonly line: number;
@@ -2135,16 +2328,16 @@ type OpenEndLocation = typeof OpenEndLocation.Type;
2135
2328
  type CatalogText = string;
2136
2329
  declare const duplicatedValue: (values: readonly CatalogText[]) => string | undefined;
2137
2330
  declare namespace mod_d_exports$2 {
2138
- export { ActionableStatus, ActionableStatusSchema, CanonicalFileName, CanonicalFileName as CanonicalFileNameValue, Column, Coverage, CoverageData, CoveragePerTestId, EarlyResultPlan, Ends, EphemeralStatus, EphemeralStatusSchema, HitCount, IgnoreRuleId, IgnoreRuleId as IgnoreRuleIdValue, IgnoreStatusReason, IgnoreStatusReasonText, IgnoreStatusReason as IgnoreStatusReasonValue, Line, Location, Mutant, MutantActivation, MutantActivationSchema, MutantCost, MutantCoverage, MutantCoverageSchema, MutantEarlyResultPlan, MutantFromUnknown, MutantFromUnknown as MutantFromUnknownValue, MutantId, MutantId as MutantIdValue, MutantRunOptions, MutantRunOptionsSchema, MutantRunPlan, MutantStatus, MutantStatusSchema, MutantTestCoverage, MutantTestPlan, MutatorName, MutatorName as MutatorNameValue, OpenEndLocation, Position, RememberedStatus, RememberedStatusSchema, RunMutantResult, RunOptions, RunOptionsFields, RunPlan, SurvivorStatus, SurvivorStatusSchema, TestPlan, duplicatedValue, inOrder, notReversed };
2331
+ export { ActionableStatus, ActionableStatusSchema, CanonicalFileName, CanonicalFileName as CanonicalFileNameValue, Column, Coverage, CoverageData, CoveragePerTestId, EarlyResultPlan, Ends, EphemeralStatus, EphemeralStatusSchema, HitCount, IgnoreRuleId, IgnoreRuleId as IgnoreRuleIdValue, IgnoreStatusReason, IgnoreStatusReasonText, IgnoreStatusReason as IgnoreStatusReasonValue, Line, Location, Mutant, MutantActivation, MutantActivationSchema, MutantCost, MutantCoverage, MutantCoverageSchema, MutantEarlyResultPlan, MutantFromUnknown, MutantFromUnknown as MutantFromUnknownValue, MutantId, MutantId as MutantIdValue, MutantRunOptions, MutantRunOptionsSchema, MutantRunPlan, MutantStatus, MutantStatusSchema, MutantTestCoverage, MutantTestPlan, MutatorName, MutatorName as MutatorNameValue, OpenEndLocation, Position, ProbeEligibility, ProbeKind, Probed, ReadmitCauseCode, Readmitted, RememberedStatus, RememberedStatusSchema, RunFailureCode, RunFailureCode as RunFailureCodeValue, RunMutantResult, RunOptions, RunOptionsFields, RunPlan, SettledReasonCode, SettledReasonCode as SettledReasonCodeValue, SettledStatus, SettledStatusSchema, StatusReason, StatusReason as StatusReasonValue, Subsumed, Subsumption, SurvivorStatus, SurvivorStatusSchema, TestPlan, ToolRefusalCode, ToolRefusalCode as ToolRefusalCodeValue, Unprobed, UnprobedReason, duplicatedValue, inOrder, notReversed, subsumedStatusReason, subsumptionMatchesStatus };
2139
2332
  }
2140
2333
  //#endregion
2141
2334
  //#region src/MutatorProvider.schema.d.ts
2142
2335
  interface MutatorContext {
2143
- readonly parent: Node_2 | undefined;
2144
- readonly grandParent: Node_2 | undefined;
2145
- readonly ancestors: readonly Node_2[];
2336
+ readonly parent: Node | undefined;
2337
+ readonly grandParent: Node | undefined;
2338
+ readonly ancestors: readonly Node[];
2146
2339
  }
2147
- type Mutator = (node: Node_2, context: MutatorContext) => Iterable<Node_2>;
2340
+ type Mutator = (node: Node, context: MutatorContext) => Iterable<Node>;
2148
2341
  declare const Implementation: Schema.declare<Mutator, Mutator>;
2149
2342
  declare const ProviderEntry: Schema.Struct<{
2150
2343
  readonly id: Schema.brand<Schema.String, "MutatorCatalogId">;
@@ -2385,7 +2578,9 @@ declare const Metrics_base: S.Class<Metrics, S.Struct<{
2385
2578
  readonly runtimeErrors: S.Int;
2386
2579
  readonly compileErrors: S.Int;
2387
2580
  readonly ignored: S.Int;
2388
- }>, {}>;
2581
+ }>, {
2582
+ readonly brand: unique symbol;
2583
+ }>;
2389
2584
  declare class Metrics extends Metrics_base {
2390
2585
  get totalDetected(): number;
2391
2586
  get totalUndetected(): number;
@@ -2464,7 +2659,9 @@ declare const DryRunCompleted_base: S.Class<DryRunCompleted, S.TaggedStruct<"dry
2464
2659
  }>>;
2465
2660
  readonly status: S.Literal<"success">;
2466
2661
  }>]>>;
2467
- }>, {}>;
2662
+ }>, {
2663
+ readonly brand: unique symbol;
2664
+ }>;
2468
2665
  declare class DryRunCompleted extends DryRunCompleted_base {}
2469
2666
  declare const MutationTestingPlanReady_base: S.Class<MutationTestingPlanReady, S.TaggedStruct<"mutationTestingPlanReady", {
2470
2667
  readonly total: S.Int;
@@ -2474,7 +2671,9 @@ declare const MutationTestingPlanReady_base: S.Class<MutationTestingPlanReady, S
2474
2671
  readonly netTime: S.Finite;
2475
2672
  readonly reloadEnvironment: S.Boolean;
2476
2673
  }>>;
2477
- }>, {}>;
2674
+ }>, {
2675
+ readonly brand: unique symbol;
2676
+ }>;
2478
2677
  declare class MutationTestingPlanReady extends MutationTestingPlanReady_base {}
2479
2678
  declare const MutantTested_base: S.Class<MutantTested, S.TaggedStruct<"mutantTested", {
2480
2679
  readonly id: S.brand<S.String, "MutantId">;
@@ -2512,7 +2711,9 @@ declare const MutantTested_base: S.Class<MutantTested, S.TaggedStruct<"mutantTes
2512
2711
  readonly replacement: S.NullOr<S.String>;
2513
2712
  readonly completed: S.Int;
2514
2713
  readonly total: S.Int;
2515
- }>, {}>;
2714
+ }>, {
2715
+ readonly brand: unique symbol;
2716
+ }>;
2516
2717
  declare class MutantTested extends MutantTested_base {}
2517
2718
  declare const MutationTestReportReady_base: S.Class<MutationTestReportReady, S.TaggedStruct<"mutationTestReportReady", {
2518
2719
  readonly report: S.StructWithRest<S.Struct<{
@@ -2604,7 +2805,9 @@ declare const MutationTestReportReady_base: S.Class<MutationTestReportReady, S.T
2604
2805
  readonly count: S.Int;
2605
2806
  readonly costMs: S.Finite;
2606
2807
  }>>;
2607
- }>, {}>;
2808
+ }>, {
2809
+ readonly brand: unique symbol;
2810
+ }>;
2608
2811
  declare class MutationTestReportReady extends MutationTestReportReady_base {}
2609
2812
  declare const ReporterEventUnion: S.toTaggedUnion<"_tag", readonly [typeof DryRunCompleted, typeof MutationTestingPlanReady, typeof MutantTested, typeof MutationTestReportReady]>;
2610
2813
  type ReporterEvent = typeof ReporterEventUnion.Type;
@@ -2620,7 +2823,9 @@ declare const ReporterFailed_base: S.Class<ReporterFailed, S.TaggedStruct<"Repor
2620
2823
  readonly cause: S.String;
2621
2824
  readonly event: S.Literals<readonly ["dryRunCompleted", "mutationTestingPlanReady", "mutantTested", "mutationTestReportReady"]>;
2622
2825
  readonly reporterName: S.String;
2623
- }>, import("effect/Cause").YieldableError>;
2826
+ }>, import("effect/Cause").YieldableError & {
2827
+ readonly brand: unique symbol;
2828
+ }>;
2624
2829
  declare class ReporterFailed extends ReporterFailed_base {
2625
2830
  get message(): string;
2626
2831
  }
@@ -2705,6 +2910,7 @@ declare const DryRunResultSchema: S.Union<readonly [S.Struct<{
2705
2910
  readonly static: S.decodeTo<S.$Record<S.brand<S.String, "MutantId">, S.Int>, S.$Record<S.String, S.Int>, never, never>;
2706
2911
  }>>;
2707
2912
  readonly globalTestInputs: S.optionalKey<S.$Array<S.String>>;
2913
+ readonly testFileModules: S.optionalKey<S.$Record<S.String, S.$Array<S.String>>>;
2708
2914
  }>, S.Struct<{
2709
2915
  readonly status: S.Literal<"timeout">;
2710
2916
  readonly reason: S.optionalKey<S.String>;
@@ -2740,7 +2946,9 @@ declare const MutantRunResultSchema: S.Union<readonly [S.Struct<{
2740
2946
  readonly status: S.Literal<"error">;
2741
2947
  readonly errorMessage: S.String;
2742
2948
  }>]>;
2743
- declare const MutantRunStarted_base: S.Class<MutantRunStarted, S.TaggedStruct<"MutantRunStarted", {}>, {}>;
2949
+ declare const MutantRunStarted_base: S.Class<MutantRunStarted, S.TaggedStruct<"MutantRunStarted", {}>, {
2950
+ readonly brand: unique symbol;
2951
+ }>;
2744
2952
  declare class MutantRunStarted extends MutantRunStarted_base {}
2745
2953
  declare const MutantRunSettled_base: S.Class<MutantRunSettled, S.TaggedStruct<"MutantRunSettled", {
2746
2954
  readonly result: S.Union<readonly [S.Struct<{
@@ -2766,7 +2974,9 @@ declare const MutantRunSettled_base: S.Class<MutantRunSettled, S.TaggedStruct<"M
2766
2974
  readonly status: S.Literal<"error">;
2767
2975
  readonly errorMessage: S.String;
2768
2976
  }>]>;
2769
- }>, {}>;
2977
+ }>, {
2978
+ readonly brand: unique symbol;
2979
+ }>;
2770
2980
  declare class MutantRunSettled extends MutantRunSettled_base {}
2771
2981
  declare const MutantRunEventSchema: S.Union<readonly [typeof MutantRunStarted, typeof MutantRunSettled]>;
2772
2982
  type MutantRunEvent = typeof MutantRunEventSchema.Type;
@@ -2785,7 +2995,9 @@ declare const TestRunnerFailed_base: S.Class<TestRunnerFailed, S.TaggedStruct<"T
2785
2995
  readonly cause: S.String;
2786
2996
  readonly phase: S.Literals<readonly ["capabilities", "dispose", "dryRun", "init", "mutantRun"]>;
2787
2997
  readonly runnerName: S.String;
2788
- }>, import("effect/Cause").YieldableError>;
2998
+ }>, import("effect/Cause").YieldableError & {
2999
+ readonly brand: unique symbol;
3000
+ }>;
2789
3001
  declare class TestRunnerFailed extends TestRunnerFailed_base {
2790
3002
  get message(): string;
2791
3003
  }
@@ -2811,6 +3023,7 @@ interface CompleteDryRunResult {
2811
3023
  readonly tests: readonly TestResult[];
2812
3024
  readonly mutantCoverage?: MutantCoverage;
2813
3025
  readonly globalTestInputs?: readonly string[];
3026
+ readonly testFileModules?: Readonly<Record<string, readonly string[]>>;
2814
3027
  readonly status: 'complete';
2815
3028
  }
2816
3029
  interface TimeoutDryRunResult {
@@ -2914,6 +3127,22 @@ declare const TestRunnerMutantRunRequest: S.Struct<{
2914
3127
  readonly static: S.optional<S.Boolean>;
2915
3128
  readonly testsCompleted: S.optional<S.Finite>;
2916
3129
  readonly description: S.optional<S.String>;
3130
+ readonly subsumption: S.optional<S.Union<readonly [S.TaggedStruct<"Subsumed", {
3131
+ readonly rule: S.Literals<readonly ["complement"]>;
3132
+ readonly dominators: S.NonEmptyArray<S.brand<S.String, "MutantId">>;
3133
+ }>, S.TaggedStruct<"Readmitted", {
3134
+ readonly rule: S.Literals<readonly ["complement"]>;
3135
+ readonly causes: S.NonEmptyArray<S.Struct<{
3136
+ readonly dominator: S.brand<S.String, "MutantId">;
3137
+ readonly code: S.Literals<readonly ["dominator-ignored-at-check", "dominator-compile-error", "dominator-ignored-at-plan", "dominator-remembered-without-running", "dominator-unsettled"]>;
3138
+ readonly detail: S.String;
3139
+ }>>;
3140
+ }>]>>;
3141
+ readonly probeEligibility: S.withDecodingDefaultKey<S.withConstructorDefault<S.Union<readonly [S.TaggedStruct<"Probed", {
3142
+ readonly kind: S.Literals<readonly ["arithmetic", "relational", "unary", "constant"]>;
3143
+ }>, S.TaggedStruct<"Unprobed", {
3144
+ readonly reason: S.Literals<readonly ["mutator-not-probed", "operator-not-probed", "every-reach-infects", "not-a-comparison", "operand-not-proven-local", "shape-not-recognized", "not-decided"]>;
3145
+ }>]>>, never>;
2917
3146
  }>;
2918
3147
  readonly sandboxFileName: S.String;
2919
3148
  readonly mutantActivation: S.Literals<readonly ["runtime", "static"]>;
@@ -2969,9 +3198,13 @@ declare const CheckerCheckResult: S.$Record<S.String, S.toTaggedUnion<"status",
2969
3198
  readonly reason: S.String;
2970
3199
  }>, S.Struct<{
2971
3200
  readonly status: S.Literal<"ignored">;
2972
- readonly reason: S.String;
3201
+ readonly reason: S.optional<S.Unknown>;
2973
3202
  }>]>>;
2974
3203
  declare const CheckerGroupResult: S.$Array<S.$Array<S.String>>;
3204
+ declare const CheckerDigestRequest: S.Struct<{
3205
+ readonly checkerName: S.String;
3206
+ }>;
3207
+ type CheckerDigestRequest = typeof CheckerDigestRequest.Type;
2975
3208
  declare const ReporterInitOptions: S.Struct<{
2976
3209
  readonly traceparent: S.optionalKey<S.decodeTo<S.Struct<{
2977
3210
  readonly version: S.String;
@@ -2990,7 +3223,9 @@ declare const BoundaryPayloadRejected_base: S.Class<BoundaryPayloadRejected, S.T
2990
3223
  readonly pluginName: S.String;
2991
3224
  readonly method: S.String;
2992
3225
  readonly cause: S.String;
2993
- }>, import("effect/Cause").YieldableError>;
3226
+ }>, import("effect/Cause").YieldableError & {
3227
+ readonly brand: unique symbol;
3228
+ }>;
2994
3229
  declare class BoundaryPayloadRejected extends BoundaryPayloadRejected_base {
2995
3230
  get message(): string;
2996
3231
  }
@@ -2998,7 +3233,9 @@ declare const BoundaryUnrecognizedSignal_base: S.Class<BoundaryUnrecognizedSigna
2998
3233
  readonly pluginName: S.String;
2999
3234
  readonly method: S.String;
3000
3235
  readonly signal: S.String;
3001
- }>, import("effect/Cause").YieldableError>;
3236
+ }>, import("effect/Cause").YieldableError & {
3237
+ readonly brand: unique symbol;
3238
+ }>;
3002
3239
  declare class BoundaryUnrecognizedSignal extends BoundaryUnrecognizedSignal_base {
3003
3240
  get message(): string;
3004
3241
  }
@@ -3024,6 +3261,112 @@ declare class PropagatedTrace extends PropagatedTrace_base {}
3024
3261
  declare const TraceContextMiddleware_base: RpcMiddleware.ServiceClass<TraceContextMiddleware, "@systemfsoftware/stryker-js-plugin-interface/TraceContextMiddleware", typeof PropagatedTrace, Schema.Never, never, never, true>;
3025
3262
  declare class TraceContextMiddleware extends TraceContextMiddleware_base {}
3026
3263
  type TracedRpc<Tag extends string, Payload extends Schema.Top = Schema.Void, Success extends Schema.Top = Schema.Void, Error extends Schema.Top = Schema.Never> = Rpc.AddMiddleware<Rpc.Rpc<Tag, Payload, Success, Error>, typeof TraceContextMiddleware>;
3264
+ declare const TypeQueryRequest: S.Struct<{
3265
+ readonly version: S.Int;
3266
+ readonly tsconfigFile: S.String;
3267
+ readonly files: S.NonEmptyArray<S.Struct<{
3268
+ readonly fileName: S.String;
3269
+ readonly content: S.String;
3270
+ readonly sites: S.$Array<S.Struct<{
3271
+ readonly siteId: S.String;
3272
+ readonly kind: S.Literals<readonly ["expression", "function-body"]>;
3273
+ readonly location: S.decodeTo<S.declare<{
3274
+ readonly start: {
3275
+ readonly line: number;
3276
+ readonly column: number;
3277
+ };
3278
+ readonly end: {
3279
+ readonly line: number;
3280
+ readonly column: number;
3281
+ };
3282
+ }, {
3283
+ readonly start: {
3284
+ readonly line: number;
3285
+ readonly column: number;
3286
+ };
3287
+ readonly end: {
3288
+ readonly line: number;
3289
+ readonly column: number;
3290
+ };
3291
+ }>, S.Struct<{
3292
+ readonly start: S.Struct<{
3293
+ readonly line: S.Int;
3294
+ readonly column: S.Int;
3295
+ }>;
3296
+ readonly end: S.Struct<{
3297
+ readonly line: S.Int;
3298
+ readonly column: S.Int;
3299
+ }>;
3300
+ }>, never, never>;
3301
+ readonly candidates: S.$Array<S.Struct<{
3302
+ readonly candidateId: S.String;
3303
+ readonly text: S.String;
3304
+ }>>;
3305
+ }>>;
3306
+ }>>;
3307
+ }>;
3308
+ type TypeQueryRequest = typeof TypeQueryRequest.Type;
3309
+ declare const TypeAnswerTypeId: unique symbol;
3310
+ type TypeAnswerTypeId = typeof TypeAnswerTypeId;
3311
+ declare const Assignable_base: S.Class<Assignable, S.TaggedStruct<"Assignable", {
3312
+ readonly candidateType: S.String;
3313
+ }>, {
3314
+ readonly brand: unique symbol;
3315
+ }>;
3316
+ declare class Assignable extends Assignable_base {
3317
+ readonly [TypeAnswerTypeId]: symbol;
3318
+ }
3319
+ declare const NotAssignable_base: S.Class<NotAssignable, S.TaggedStruct<"NotAssignable", {
3320
+ readonly candidateType: S.String;
3321
+ readonly contextualType: S.String;
3322
+ }>, {
3323
+ readonly brand: unique symbol;
3324
+ }>;
3325
+ declare class NotAssignable extends NotAssignable_base {
3326
+ readonly [TypeAnswerTypeId]: symbol;
3327
+ }
3328
+ declare const Unknown_base: S.Class<Unknown, S.TaggedStruct<"Unknown", {
3329
+ readonly reason: S.Literals<readonly ["candidate-not-context-free", "candidate-not-found", "site-not-found", "site-not-expression", "no-contextual-type", "error-type", "instantiable-target", "overloaded-or-generic-call", "context-not-enforced", "site-not-function-body", "candidate-not-empty-body", "return-type-not-declared", "generator-body", "constructor-body", "getter-requires-return", "implicit-return-rejected", "async-return-not-promise"]>;
3330
+ }>, {
3331
+ readonly brand: unique symbol;
3332
+ }>;
3333
+ declare class Unknown extends Unknown_base {
3334
+ readonly [TypeAnswerTypeId]: symbol;
3335
+ }
3336
+ declare const TypeQueryResponse: S.Struct<{
3337
+ readonly version: S.Literals<readonly [1, 2]>;
3338
+ readonly files: S.$Array<S.Union<readonly [S.TaggedStruct<"FileAnswered", {
3339
+ readonly fileName: S.String;
3340
+ readonly sites: S.$Array<S.Struct<{
3341
+ readonly siteId: S.String;
3342
+ readonly siteType: S.OptionFromNullOr<S.String>;
3343
+ readonly contextualType: S.OptionFromNullOr<S.String>;
3344
+ readonly candidates: S.$Array<S.Struct<{
3345
+ readonly candidateId: S.String;
3346
+ readonly answer: S.Union<readonly [typeof Assignable, typeof NotAssignable, typeof Unknown]>;
3347
+ }>>;
3348
+ }>>;
3349
+ }>, S.TaggedStruct<"FileRefused", {
3350
+ readonly fileName: S.String;
3351
+ readonly reason: S.Literals<readonly ["not-in-project", "server-crashed", "query-timed-out"]>;
3352
+ readonly nextAction: S.String;
3353
+ }>]>>;
3354
+ }>;
3355
+ type TypeQueryResponse = typeof TypeQueryResponse.Type;
3356
+ declare const TypeQueryRefused_base: S.Class<TypeQueryRefused, S.TaggedStruct<"TypeQueryRefused", {
3357
+ readonly version: S.Int;
3358
+ readonly reason: S.Literals<readonly ["unsupported-version", "project-open-failed"]>;
3359
+ readonly nextAction: S.String;
3360
+ }>, import("effect/Cause").YieldableError & {
3361
+ readonly brand: unique symbol;
3362
+ }>;
3363
+ declare class TypeQueryRefused extends TypeQueryRefused_base {
3364
+ get message(): string;
3365
+ }
3366
+ declare const CheckerCapabilities: S.Struct<{
3367
+ readonly typeQuery: S.$Array<S.Int>;
3368
+ }>;
3369
+ type CheckerCapabilities = typeof CheckerCapabilities.Type;
3027
3370
  //#endregion
3028
3371
  //#region src/PluginRpcs.service.d.ts
3029
3372
  declare const capabilities: TracedRpc<'capabilities', Schema.Void, typeof TestRunnerCapabilitiesSchema, typeof TestRunnerFailed>;
@@ -3031,14 +3374,17 @@ declare const dryRun: TracedRpc<'dryRun', typeof TestRunnerDryRunRequest, typeof
3031
3374
  declare const mutantRun: TracedRpc<'mutantRun', typeof TestRunnerMutantRunRequest, RpcSchema.Stream<typeof MutantRunEventSchema, typeof TestRunnerFailed>, typeof Schema.Never>;
3032
3375
  declare const check: TracedRpc<'check', typeof CheckerRequest, typeof CheckerCheckResult, typeof CheckerFailed>;
3033
3376
  declare const group: TracedRpc<'group', typeof CheckerRequest, typeof CheckerGroupResult, typeof CheckerFailed>;
3377
+ declare const digest: TracedRpc<'digest', typeof CheckerDigestRequest, typeof ProgramDigest, typeof CheckerFailed>;
3378
+ declare const checkerCapabilities: TracedRpc<'capabilities', typeof CheckerDigestRequest, typeof CheckerCapabilities, typeof CheckerFailed>;
3379
+ declare const typeQuery: TracedRpc<'typeQuery', typeof TypeQueryRequest, typeof TypeQueryResponse, typeof TypeQueryRefused>;
3034
3380
  declare const init: TracedRpc<'init', typeof ReporterInitOptions, typeof ReporterAck, typeof ReporterFailed>;
3035
3381
  declare const onEventBatch: TracedRpc<'onEventBatch', typeof ReporterEventBatch, typeof ReporterAck, typeof ReporterFailed>;
3036
3382
  declare const flush: TracedRpc<'flush', Schema.Void, typeof ReporterDrained, typeof ReporterFailed>;
3037
3383
  declare const TestRunnerRpcs: RpcGroup.RpcGroup<typeof capabilities | typeof dryRun | typeof mutantRun>;
3038
- declare const CheckerRpcs: RpcGroup.RpcGroup<typeof check | typeof group>;
3384
+ declare const CheckerRpcs: RpcGroup.RpcGroup<typeof check | typeof group | typeof digest | typeof checkerCapabilities | typeof typeQuery>;
3039
3385
  declare const ReporterRpcs: RpcGroup.RpcGroup<typeof init | typeof onEventBatch | typeof flush>;
3040
3386
  declare namespace mod_d_exports$6 {
3041
- export { BoundaryError, BoundaryErrorSchema, BoundaryPayloadRejected, BoundaryUnrecognizedSignal, CheckerCheckResult, CheckerGroupResult, CheckerRequest, CheckerRpcs, EvaluatorPluginKind, ExitClass, ExitCode, ExitCodeFromClass, PluginKind, PluginKindSchema, ReporterAck, ReporterDrained, ReporterEventBatch, ReporterInitOptions, ReporterRpcs, TestRunnerDryRunRequest, TestRunnerMutantRunRequest, TestRunnerRpcs, WorkerEntryUrl, WorkerPluginKind, WorkerPluginSpawn, WorkerPluginSpawnSchema };
3387
+ export { BoundaryError, BoundaryErrorSchema, BoundaryPayloadRejected, BoundaryUnrecognizedSignal, CheckerCheckResult, CheckerDigestRequest, CheckerGroupResult, CheckerRequest, CheckerRpcs, EvaluatorPluginKind, ExitClass, ExitCode, ExitCodeFromClass, PluginKind, PluginKindSchema, ReporterAck, ReporterDrained, ReporterEventBatch, ReporterInitOptions, ReporterRpcs, TestRunnerDryRunRequest, TestRunnerMutantRunRequest, TestRunnerRpcs, WorkerEntryUrl, WorkerPluginKind, WorkerPluginSpawn, WorkerPluginSpawnSchema };
3042
3388
  }
3043
3389
  //#endregion
3044
3390
  //#region src/Metrics.d.ts
@@ -3078,4 +3424,4 @@ declare namespace mod_d_exports$9 {
3078
3424
  export { BaseTestResult, CompleteDryRunResult, CoverageAnalysis, CoverageAnalysisSchema, DryRunOptions, DryRunOptionsSchema, DryRunResult, DryRunResultSchema, DryRunStatus, ErrorDryRunResult, ErrorMutantRunResult, ExecutedTest, ExecutedTestSchema, FailedTestResult, HitLimitReason, HitLimitReasonPrefix, HitLimitReasonText, KilledMutantRunResult, MutantRunEvent, MutantRunEventSchema, MutantRunResult, MutantRunResultSchema, MutantRunSettled, MutantRunStarted, MutantRunStatus, SkippedTestResult, SuccessTestResult, SurvivedMutantRunResult, TestId, TestResult, TestResultSchema, TestRunner, TestRunnerCapabilities, TestRunnerCapabilitiesSchema, TestRunnerFailed, TestRunnerService, TestStatus, TimeoutDryRunResult, TimeoutMutantRunResult, WallClockTimeoutReason };
3079
3425
  }
3080
3426
  //#endregion
3081
- export { mod_d_exports$6 as a, mod_d_exports$9 as c, Program as d, Statement as f, mod_d_exports$5 as i, Ignorer as l, mod_d_exports$2 as n, mod_d_exports$7 as o, mod_d_exports$4 as r, mod_d_exports$8 as s, mod_d_exports as t, Node_2 as u };
3427
+ export { mod_d_exports$6 as a, mod_d_exports$9 as c, Program as d, Statement as f, mod_d_exports$5 as i, Ignorer as l, mod_d_exports$2 as n, mod_d_exports$7 as o, mod_d_exports$4 as r, mod_d_exports$8 as s, mod_d_exports as t, Node as u };