typescript 5.0.0-dev.20221212 → 5.0.0-dev.20221214

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.
@@ -2802,6 +2802,7 @@ declare namespace ts {
2802
2802
  readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
2803
2803
  readonly includeInlayEnumMemberValueHints?: boolean;
2804
2804
  readonly autoImportFileExcludePatterns?: string[];
2805
+ readonly organizeImportsIgnoreCase?: "auto" | boolean;
2805
2806
  /**
2806
2807
  * Indicates whether {@link ReferencesResponseItem.lineText} is supported.
2807
2808
  */
@@ -4338,23 +4339,25 @@ declare namespace ts {
4338
4339
  JSDocReadonlyTag = 339,
4339
4340
  JSDocOverrideTag = 340,
4340
4341
  JSDocCallbackTag = 341,
4341
- JSDocEnumTag = 342,
4342
- JSDocParameterTag = 343,
4343
- JSDocReturnTag = 344,
4344
- JSDocThisTag = 345,
4345
- JSDocTypeTag = 346,
4346
- JSDocTemplateTag = 347,
4347
- JSDocTypedefTag = 348,
4348
- JSDocSeeTag = 349,
4349
- JSDocPropertyTag = 350,
4350
- SyntaxList = 351,
4351
- NotEmittedStatement = 352,
4352
- PartiallyEmittedExpression = 353,
4353
- CommaListExpression = 354,
4354
- MergeDeclarationMarker = 355,
4355
- EndOfDeclarationMarker = 356,
4356
- SyntheticReferenceExpression = 357,
4357
- Count = 358,
4342
+ JSDocOverloadTag = 342,
4343
+ JSDocEnumTag = 343,
4344
+ JSDocParameterTag = 344,
4345
+ JSDocReturnTag = 345,
4346
+ JSDocThisTag = 346,
4347
+ JSDocTypeTag = 347,
4348
+ JSDocTemplateTag = 348,
4349
+ JSDocTypedefTag = 349,
4350
+ JSDocSeeTag = 350,
4351
+ JSDocPropertyTag = 351,
4352
+ JSDocThrowsTag = 352,
4353
+ SyntaxList = 353,
4354
+ NotEmittedStatement = 354,
4355
+ PartiallyEmittedExpression = 355,
4356
+ CommaListExpression = 356,
4357
+ MergeDeclarationMarker = 357,
4358
+ EndOfDeclarationMarker = 358,
4359
+ SyntheticReferenceExpression = 359,
4360
+ Count = 360,
4358
4361
  FirstAssignment = 63,
4359
4362
  LastAssignment = 78,
4360
4363
  FirstCompoundAssignment = 64,
@@ -4383,9 +4386,9 @@ declare namespace ts {
4383
4386
  LastStatement = 256,
4384
4387
  FirstNode = 163,
4385
4388
  FirstJSDocNode = 312,
4386
- LastJSDocNode = 350,
4389
+ LastJSDocNode = 352,
4387
4390
  FirstJSDocTagNode = 330,
4388
- LastJSDocTagNode = 350
4391
+ LastJSDocTagNode = 352
4389
4392
  }
4390
4393
  type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ShebangTrivia | SyntaxKind.ConflictMarkerTrivia;
4391
4394
  type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral;
@@ -4511,9 +4514,16 @@ declare namespace ts {
4511
4514
  */
4512
4515
  readonly modifiers?: NodeArray<ModifierLike> | undefined;
4513
4516
  }
4514
- interface JSDocContainer {
4517
+ interface JSDocContainer extends Node {
4518
+ _jsdocContainerBrand: any;
4515
4519
  }
4516
- type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ClassStaticBlockDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | EmptyStatement | DebuggerStatement | Block | VariableStatement | ExpressionStatement | IfStatement | DoStatement | WhileStatement | ForStatement | ForInStatement | ForOfStatement | BreakStatement | ContinueStatement | ReturnStatement | WithStatement | SwitchStatement | LabeledStatement | ThrowStatement | TryStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | VariableDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | NamespaceExportDeclaration | ExportAssignment | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | NamedTupleMember | ExportSpecifier | CaseClause | EndOfFileToken;
4520
+ interface LocalsContainer extends Node {
4521
+ _localsContainerBrand: any;
4522
+ }
4523
+ interface FlowContainer extends Node {
4524
+ _flowContainerBrand: any;
4525
+ }
4526
+ type HasJSDoc = AccessorDeclaration | ArrowFunction | BinaryExpression | Block | BreakStatement | CallSignatureDeclaration | CaseClause | ClassLikeDeclaration | ClassStaticBlockDeclaration | ConstructorDeclaration | ConstructorTypeNode | ConstructSignatureDeclaration | ContinueStatement | DebuggerStatement | DoStatement | ElementAccessExpression | EmptyStatement | EndOfFileToken | EnumDeclaration | EnumMember | ExportAssignment | ExportDeclaration | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | FunctionTypeNode | Identifier | IfStatement | ImportDeclaration | ImportEqualsDeclaration | IndexSignatureDeclaration | InterfaceDeclaration | JSDocFunctionType | JSDocSignature | LabeledStatement | MethodDeclaration | MethodSignature | ModuleDeclaration | NamedTupleMember | NamespaceExportDeclaration | ObjectLiteralExpression | ParameterDeclaration | ParenthesizedExpression | PropertyAccessExpression | PropertyAssignment | PropertyDeclaration | PropertySignature | ReturnStatement | ShorthandPropertyAssignment | SpreadAssignment | SwitchStatement | ThrowStatement | TryStatement | TypeAliasDeclaration | TypeParameterDeclaration | VariableDeclaration | VariableStatement | WhileStatement | WithStatement;
4517
4527
  type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType;
4518
4528
  type HasTypeArguments = CallExpression | NewExpression | TaggedTemplateExpression | JsxOpeningElement | JsxSelfClosingElement;
4519
4529
  type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute;
@@ -4545,6 +4555,7 @@ declare namespace ts {
4545
4555
  type AssertsKeyword = KeywordToken<SyntaxKind.AssertsKeyword>;
4546
4556
  type AssertKeyword = KeywordToken<SyntaxKind.AssertKeyword>;
4547
4557
  type AwaitKeyword = KeywordToken<SyntaxKind.AwaitKeyword>;
4558
+ type CaseKeyword = KeywordToken<SyntaxKind.CaseKeyword>;
4548
4559
  /** @deprecated Use `AwaitKeyword` instead. */
4549
4560
  type AwaitKeywordToken = AwaitKeyword;
4550
4561
  /** @deprecated Use `AssertsKeyword` instead. */
@@ -4581,7 +4592,7 @@ declare namespace ts {
4581
4592
  FileLevel = 32,
4582
4593
  AllowNameSubstitution = 64
4583
4594
  }
4584
- interface Identifier extends PrimaryExpression, Declaration {
4595
+ interface Identifier extends PrimaryExpression, Declaration, JSDocContainer, FlowContainer {
4585
4596
  readonly kind: SyntaxKind.Identifier;
4586
4597
  /**
4587
4598
  * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.)
@@ -4597,7 +4608,7 @@ declare namespace ts {
4597
4608
  interface TransientIdentifier extends Identifier {
4598
4609
  resolvedSymbol: Symbol;
4599
4610
  }
4600
- interface QualifiedName extends Node {
4611
+ interface QualifiedName extends Node, FlowContainer {
4601
4612
  readonly kind: SyntaxKind.QualifiedName;
4602
4613
  readonly left: EntityName;
4603
4614
  readonly right: Identifier;
@@ -4632,7 +4643,7 @@ declare namespace ts {
4632
4643
  readonly parent: NamedDeclaration;
4633
4644
  readonly expression: LeftHandSideExpression;
4634
4645
  }
4635
- interface TypeParameterDeclaration extends NamedDeclaration {
4646
+ interface TypeParameterDeclaration extends NamedDeclaration, JSDocContainer {
4636
4647
  readonly kind: SyntaxKind.TypeParameter;
4637
4648
  readonly parent: DeclarationWithTypeParameterChildren | InferTypeNode;
4638
4649
  readonly modifiers?: NodeArray<Modifier>;
@@ -4650,10 +4661,10 @@ declare namespace ts {
4650
4661
  readonly type?: TypeNode | undefined;
4651
4662
  }
4652
4663
  type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction;
4653
- interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement {
4664
+ interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement, LocalsContainer {
4654
4665
  readonly kind: SyntaxKind.CallSignature;
4655
4666
  }
4656
- interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement {
4667
+ interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement, LocalsContainer {
4657
4668
  readonly kind: SyntaxKind.ConstructSignature;
4658
4669
  }
4659
4670
  type BindingName = Identifier | BindingPattern;
@@ -4680,7 +4691,7 @@ declare namespace ts {
4680
4691
  readonly type?: TypeNode;
4681
4692
  readonly initializer?: Expression;
4682
4693
  }
4683
- interface BindingElement extends NamedDeclaration {
4694
+ interface BindingElement extends NamedDeclaration, FlowContainer {
4684
4695
  readonly kind: SyntaxKind.BindingElement;
4685
4696
  readonly parent: BindingPattern;
4686
4697
  readonly propertyName?: PropertyName;
@@ -4690,6 +4701,7 @@ declare namespace ts {
4690
4701
  }
4691
4702
  interface PropertySignature extends TypeElement, JSDocContainer {
4692
4703
  readonly kind: SyntaxKind.PropertySignature;
4704
+ readonly parent: TypeLiteralNode | InterfaceDeclaration;
4693
4705
  readonly modifiers?: NodeArray<Modifier>;
4694
4706
  readonly name: PropertyName;
4695
4707
  readonly questionToken?: QuestionToken;
@@ -4751,9 +4763,6 @@ declare namespace ts {
4751
4763
  readonly expression: Expression;
4752
4764
  }
4753
4765
  type VariableLikeDeclaration = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | PropertySignature | JsxAttribute | ShorthandPropertyAssignment | EnumMember | JSDocPropertyTag | JSDocParameterTag;
4754
- interface PropertyLikeDeclaration extends NamedDeclaration {
4755
- readonly name: PropertyName;
4756
- }
4757
4766
  interface ObjectBindingPattern extends Node {
4758
4767
  readonly kind: SyntaxKind.ObjectBindingPattern;
4759
4768
  readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement;
@@ -4784,26 +4793,26 @@ declare namespace ts {
4784
4793
  type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction;
4785
4794
  /** @deprecated Use SignatureDeclaration */
4786
4795
  type FunctionLike = SignatureDeclaration;
4787
- interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement {
4796
+ interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement, LocalsContainer {
4788
4797
  readonly kind: SyntaxKind.FunctionDeclaration;
4789
4798
  readonly modifiers?: NodeArray<Modifier>;
4790
4799
  readonly name?: Identifier;
4791
4800
  readonly body?: FunctionBody;
4792
4801
  }
4793
- interface MethodSignature extends SignatureDeclarationBase, TypeElement {
4802
+ interface MethodSignature extends SignatureDeclarationBase, TypeElement, LocalsContainer {
4794
4803
  readonly kind: SyntaxKind.MethodSignature;
4795
- readonly parent: ObjectTypeDeclaration;
4804
+ readonly parent: TypeLiteralNode | InterfaceDeclaration;
4796
4805
  readonly modifiers?: NodeArray<Modifier>;
4797
4806
  readonly name: PropertyName;
4798
4807
  }
4799
- interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer {
4808
+ interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {
4800
4809
  readonly kind: SyntaxKind.MethodDeclaration;
4801
4810
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression;
4802
4811
  readonly modifiers?: NodeArray<ModifierLike> | undefined;
4803
4812
  readonly name: PropertyName;
4804
4813
  readonly body?: FunctionBody | undefined;
4805
4814
  }
4806
- interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer {
4815
+ interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer, LocalsContainer {
4807
4816
  readonly kind: SyntaxKind.Constructor;
4808
4817
  readonly parent: ClassLikeDeclaration;
4809
4818
  readonly modifiers?: NodeArray<Modifier> | undefined;
@@ -4814,14 +4823,14 @@ declare namespace ts {
4814
4823
  readonly kind: SyntaxKind.SemicolonClassElement;
4815
4824
  readonly parent: ClassLikeDeclaration;
4816
4825
  }
4817
- interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer {
4826
+ interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {
4818
4827
  readonly kind: SyntaxKind.GetAccessor;
4819
4828
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;
4820
4829
  readonly modifiers?: NodeArray<ModifierLike>;
4821
4830
  readonly name: PropertyName;
4822
4831
  readonly body?: FunctionBody;
4823
4832
  }
4824
- interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer {
4833
+ interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {
4825
4834
  readonly kind: SyntaxKind.SetAccessor;
4826
4835
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;
4827
4836
  readonly modifiers?: NodeArray<ModifierLike>;
@@ -4829,13 +4838,13 @@ declare namespace ts {
4829
4838
  readonly body?: FunctionBody;
4830
4839
  }
4831
4840
  type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration;
4832
- interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement {
4841
+ interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement, LocalsContainer {
4833
4842
  readonly kind: SyntaxKind.IndexSignature;
4834
4843
  readonly parent: ObjectTypeDeclaration;
4835
4844
  readonly modifiers?: NodeArray<Modifier>;
4836
4845
  readonly type: TypeNode;
4837
4846
  }
4838
- interface ClassStaticBlockDeclaration extends ClassElement, JSDocContainer {
4847
+ interface ClassStaticBlockDeclaration extends ClassElement, JSDocContainer, LocalsContainer {
4839
4848
  readonly kind: SyntaxKind.ClassStaticBlockDeclaration;
4840
4849
  readonly parent: ClassDeclaration | ClassExpression;
4841
4850
  readonly body: Block;
@@ -4867,14 +4876,14 @@ declare namespace ts {
4867
4876
  readonly kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType;
4868
4877
  readonly type: TypeNode;
4869
4878
  }
4870
- interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase {
4879
+ interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase, LocalsContainer {
4871
4880
  readonly kind: SyntaxKind.FunctionType;
4872
4881
  }
4873
4882
  interface FunctionTypeNode {
4874
4883
  /** @deprecated A function type cannot have modifiers */
4875
4884
  readonly modifiers?: NodeArray<Modifier> | undefined;
4876
4885
  }
4877
- interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase {
4886
+ interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase, LocalsContainer {
4878
4887
  readonly kind: SyntaxKind.ConstructorType;
4879
4888
  readonly modifiers?: NodeArray<Modifier>;
4880
4889
  }
@@ -4909,7 +4918,7 @@ declare namespace ts {
4909
4918
  readonly kind: SyntaxKind.TupleType;
4910
4919
  readonly elements: NodeArray<TypeNode | NamedTupleMember>;
4911
4920
  }
4912
- interface NamedTupleMember extends TypeNode, JSDocContainer, Declaration {
4921
+ interface NamedTupleMember extends TypeNode, Declaration, JSDocContainer {
4913
4922
  readonly kind: SyntaxKind.NamedTupleMember;
4914
4923
  readonly dotDotDotToken?: Token<SyntaxKind.DotDotDotToken>;
4915
4924
  readonly name: Identifier;
@@ -4933,7 +4942,7 @@ declare namespace ts {
4933
4942
  readonly kind: SyntaxKind.IntersectionType;
4934
4943
  readonly types: NodeArray<TypeNode>;
4935
4944
  }
4936
- interface ConditionalTypeNode extends TypeNode {
4945
+ interface ConditionalTypeNode extends TypeNode, LocalsContainer {
4937
4946
  readonly kind: SyntaxKind.ConditionalType;
4938
4947
  readonly checkType: TypeNode;
4939
4948
  readonly extendsType: TypeNode;
@@ -4958,7 +4967,7 @@ declare namespace ts {
4958
4967
  readonly objectType: TypeNode;
4959
4968
  readonly indexType: TypeNode;
4960
4969
  }
4961
- interface MappedTypeNode extends TypeNode, Declaration {
4970
+ interface MappedTypeNode extends TypeNode, Declaration, LocalsContainer {
4962
4971
  readonly kind: SyntaxKind.MappedType;
4963
4972
  readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken;
4964
4973
  readonly typeParameter: TypeParameterDeclaration;
@@ -5037,10 +5046,10 @@ declare namespace ts {
5037
5046
  readonly kind: SyntaxKind.FalseKeyword;
5038
5047
  }
5039
5048
  type BooleanLiteral = TrueLiteral | FalseLiteral;
5040
- interface ThisExpression extends PrimaryExpression {
5049
+ interface ThisExpression extends PrimaryExpression, FlowContainer {
5041
5050
  readonly kind: SyntaxKind.ThisKeyword;
5042
5051
  }
5043
- interface SuperExpression extends PrimaryExpression {
5052
+ interface SuperExpression extends PrimaryExpression, FlowContainer {
5044
5053
  readonly kind: SyntaxKind.SuperKeyword;
5045
5054
  }
5046
5055
  interface ImportExpression extends PrimaryExpression {
@@ -5094,7 +5103,7 @@ declare namespace ts {
5094
5103
  type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken;
5095
5104
  type LogicalOrCoalescingAssignmentOperator = SyntaxKind.AmpersandAmpersandEqualsToken | SyntaxKind.BarBarEqualsToken | SyntaxKind.QuestionQuestionEqualsToken;
5096
5105
  type BinaryOperatorToken = Token<BinaryOperator>;
5097
- interface BinaryExpression extends Expression, Declaration {
5106
+ interface BinaryExpression extends Expression, Declaration, JSDocContainer {
5098
5107
  readonly kind: SyntaxKind.BinaryExpression;
5099
5108
  readonly left: Expression;
5100
5109
  readonly operatorToken: BinaryOperatorToken;
@@ -5131,13 +5140,13 @@ declare namespace ts {
5131
5140
  }
5132
5141
  type FunctionBody = Block;
5133
5142
  type ConciseBody = FunctionBody | Expression;
5134
- interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer {
5143
+ interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer, LocalsContainer, FlowContainer {
5135
5144
  readonly kind: SyntaxKind.FunctionExpression;
5136
5145
  readonly modifiers?: NodeArray<Modifier>;
5137
5146
  readonly name?: Identifier;
5138
5147
  readonly body: FunctionBody;
5139
5148
  }
5140
- interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer {
5149
+ interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer, LocalsContainer, FlowContainer {
5141
5150
  readonly kind: SyntaxKind.ArrowFunction;
5142
5151
  readonly modifiers?: NodeArray<Modifier>;
5143
5152
  readonly equalsGreaterThanToken: EqualsGreaterThanToken;
@@ -5224,13 +5233,13 @@ declare namespace ts {
5224
5233
  interface ObjectLiteralExpressionBase<T extends ObjectLiteralElement> extends PrimaryExpression, Declaration {
5225
5234
  readonly properties: NodeArray<T>;
5226
5235
  }
5227
- interface ObjectLiteralExpression extends ObjectLiteralExpressionBase<ObjectLiteralElementLike> {
5236
+ interface ObjectLiteralExpression extends ObjectLiteralExpressionBase<ObjectLiteralElementLike>, JSDocContainer {
5228
5237
  readonly kind: SyntaxKind.ObjectLiteralExpression;
5229
5238
  }
5230
5239
  type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression;
5231
5240
  type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression;
5232
5241
  type AccessExpression = PropertyAccessExpression | ElementAccessExpression;
5233
- interface PropertyAccessExpression extends MemberExpression, NamedDeclaration {
5242
+ interface PropertyAccessExpression extends MemberExpression, NamedDeclaration, JSDocContainer, FlowContainer {
5234
5243
  readonly kind: SyntaxKind.PropertyAccessExpression;
5235
5244
  readonly expression: LeftHandSideExpression;
5236
5245
  readonly questionDotToken?: QuestionDotToken;
@@ -5249,7 +5258,7 @@ declare namespace ts {
5249
5258
  readonly expression: EntityNameExpression;
5250
5259
  readonly name: Identifier;
5251
5260
  }
5252
- interface ElementAccessExpression extends MemberExpression {
5261
+ interface ElementAccessExpression extends MemberExpression, Declaration, JSDocContainer, FlowContainer {
5253
5262
  readonly kind: SyntaxKind.ElementAccessExpression;
5254
5263
  readonly expression: LeftHandSideExpression;
5255
5264
  readonly questionDotToken?: QuestionDotToken;
@@ -5319,7 +5328,7 @@ declare namespace ts {
5319
5328
  interface NonNullChain extends NonNullExpression {
5320
5329
  _optionalChainBrand: any;
5321
5330
  }
5322
- interface MetaProperty extends PrimaryExpression {
5331
+ interface MetaProperty extends PrimaryExpression, FlowContainer {
5323
5332
  readonly kind: SyntaxKind.MetaProperty;
5324
5333
  readonly keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword;
5325
5334
  readonly name: Identifier;
@@ -5412,7 +5421,7 @@ declare namespace ts {
5412
5421
  interface EmptyStatement extends Statement {
5413
5422
  readonly kind: SyntaxKind.EmptyStatement;
5414
5423
  }
5415
- interface DebuggerStatement extends Statement {
5424
+ interface DebuggerStatement extends Statement, FlowContainer {
5416
5425
  readonly kind: SyntaxKind.DebuggerStatement;
5417
5426
  }
5418
5427
  interface MissingDeclaration extends DeclarationStatement {
@@ -5420,20 +5429,20 @@ declare namespace ts {
5420
5429
  readonly name?: Identifier;
5421
5430
  }
5422
5431
  type BlockLike = SourceFile | Block | ModuleBlock | CaseOrDefaultClause;
5423
- interface Block extends Statement {
5432
+ interface Block extends Statement, LocalsContainer {
5424
5433
  readonly kind: SyntaxKind.Block;
5425
5434
  readonly statements: NodeArray<Statement>;
5426
5435
  }
5427
- interface VariableStatement extends Statement {
5436
+ interface VariableStatement extends Statement, FlowContainer {
5428
5437
  readonly kind: SyntaxKind.VariableStatement;
5429
5438
  readonly modifiers?: NodeArray<Modifier>;
5430
5439
  readonly declarationList: VariableDeclarationList;
5431
5440
  }
5432
- interface ExpressionStatement extends Statement {
5441
+ interface ExpressionStatement extends Statement, FlowContainer {
5433
5442
  readonly kind: SyntaxKind.ExpressionStatement;
5434
5443
  readonly expression: Expression;
5435
5444
  }
5436
- interface IfStatement extends Statement {
5445
+ interface IfStatement extends Statement, FlowContainer {
5437
5446
  readonly kind: SyntaxKind.IfStatement;
5438
5447
  readonly expression: Expression;
5439
5448
  readonly thenStatement: Statement;
@@ -5442,58 +5451,58 @@ declare namespace ts {
5442
5451
  interface IterationStatement extends Statement {
5443
5452
  readonly statement: Statement;
5444
5453
  }
5445
- interface DoStatement extends IterationStatement {
5454
+ interface DoStatement extends IterationStatement, FlowContainer {
5446
5455
  readonly kind: SyntaxKind.DoStatement;
5447
5456
  readonly expression: Expression;
5448
5457
  }
5449
- interface WhileStatement extends IterationStatement {
5458
+ interface WhileStatement extends IterationStatement, FlowContainer {
5450
5459
  readonly kind: SyntaxKind.WhileStatement;
5451
5460
  readonly expression: Expression;
5452
5461
  }
5453
5462
  type ForInitializer = VariableDeclarationList | Expression;
5454
- interface ForStatement extends IterationStatement {
5463
+ interface ForStatement extends IterationStatement, LocalsContainer, FlowContainer {
5455
5464
  readonly kind: SyntaxKind.ForStatement;
5456
5465
  readonly initializer?: ForInitializer;
5457
5466
  readonly condition?: Expression;
5458
5467
  readonly incrementor?: Expression;
5459
5468
  }
5460
5469
  type ForInOrOfStatement = ForInStatement | ForOfStatement;
5461
- interface ForInStatement extends IterationStatement {
5470
+ interface ForInStatement extends IterationStatement, LocalsContainer, FlowContainer {
5462
5471
  readonly kind: SyntaxKind.ForInStatement;
5463
5472
  readonly initializer: ForInitializer;
5464
5473
  readonly expression: Expression;
5465
5474
  }
5466
- interface ForOfStatement extends IterationStatement {
5475
+ interface ForOfStatement extends IterationStatement, LocalsContainer, FlowContainer {
5467
5476
  readonly kind: SyntaxKind.ForOfStatement;
5468
5477
  readonly awaitModifier?: AwaitKeyword;
5469
5478
  readonly initializer: ForInitializer;
5470
5479
  readonly expression: Expression;
5471
5480
  }
5472
- interface BreakStatement extends Statement {
5481
+ interface BreakStatement extends Statement, FlowContainer {
5473
5482
  readonly kind: SyntaxKind.BreakStatement;
5474
5483
  readonly label?: Identifier;
5475
5484
  }
5476
- interface ContinueStatement extends Statement {
5485
+ interface ContinueStatement extends Statement, FlowContainer {
5477
5486
  readonly kind: SyntaxKind.ContinueStatement;
5478
5487
  readonly label?: Identifier;
5479
5488
  }
5480
5489
  type BreakOrContinueStatement = BreakStatement | ContinueStatement;
5481
- interface ReturnStatement extends Statement {
5490
+ interface ReturnStatement extends Statement, FlowContainer {
5482
5491
  readonly kind: SyntaxKind.ReturnStatement;
5483
5492
  readonly expression?: Expression;
5484
5493
  }
5485
- interface WithStatement extends Statement {
5494
+ interface WithStatement extends Statement, FlowContainer {
5486
5495
  readonly kind: SyntaxKind.WithStatement;
5487
5496
  readonly expression: Expression;
5488
5497
  readonly statement: Statement;
5489
5498
  }
5490
- interface SwitchStatement extends Statement {
5499
+ interface SwitchStatement extends Statement, FlowContainer {
5491
5500
  readonly kind: SyntaxKind.SwitchStatement;
5492
5501
  readonly expression: Expression;
5493
5502
  readonly caseBlock: CaseBlock;
5494
5503
  possiblyExhaustive?: boolean;
5495
5504
  }
5496
- interface CaseBlock extends Node {
5505
+ interface CaseBlock extends Node, LocalsContainer {
5497
5506
  readonly kind: SyntaxKind.CaseBlock;
5498
5507
  readonly parent: SwitchStatement;
5499
5508
  readonly clauses: NodeArray<CaseOrDefaultClause>;
@@ -5510,22 +5519,22 @@ declare namespace ts {
5510
5519
  readonly statements: NodeArray<Statement>;
5511
5520
  }
5512
5521
  type CaseOrDefaultClause = CaseClause | DefaultClause;
5513
- interface LabeledStatement extends Statement {
5522
+ interface LabeledStatement extends Statement, FlowContainer {
5514
5523
  readonly kind: SyntaxKind.LabeledStatement;
5515
5524
  readonly label: Identifier;
5516
5525
  readonly statement: Statement;
5517
5526
  }
5518
- interface ThrowStatement extends Statement {
5527
+ interface ThrowStatement extends Statement, FlowContainer {
5519
5528
  readonly kind: SyntaxKind.ThrowStatement;
5520
5529
  readonly expression: Expression;
5521
5530
  }
5522
- interface TryStatement extends Statement {
5531
+ interface TryStatement extends Statement, FlowContainer {
5523
5532
  readonly kind: SyntaxKind.TryStatement;
5524
5533
  readonly tryBlock: Block;
5525
5534
  readonly catchClause?: CatchClause;
5526
5535
  readonly finallyBlock?: Block;
5527
5536
  }
5528
- interface CatchClause extends Node {
5537
+ interface CatchClause extends Node, LocalsContainer {
5529
5538
  readonly kind: SyntaxKind.CatchClause;
5530
5539
  readonly parent: TryStatement;
5531
5540
  readonly variableDeclaration?: VariableDeclaration;
@@ -5575,7 +5584,7 @@ declare namespace ts {
5575
5584
  readonly token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword;
5576
5585
  readonly types: NodeArray<ExpressionWithTypeArguments>;
5577
5586
  }
5578
- interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer {
5587
+ interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer, LocalsContainer {
5579
5588
  readonly kind: SyntaxKind.TypeAliasDeclaration;
5580
5589
  readonly modifiers?: NodeArray<Modifier>;
5581
5590
  readonly name: Identifier;
@@ -5596,7 +5605,7 @@ declare namespace ts {
5596
5605
  }
5597
5606
  type ModuleName = Identifier | StringLiteral;
5598
5607
  type ModuleBody = NamespaceBody | JSDocNamespaceBody;
5599
- interface ModuleDeclaration extends DeclarationStatement, JSDocContainer {
5608
+ interface ModuleDeclaration extends DeclarationStatement, JSDocContainer, LocalsContainer {
5600
5609
  readonly kind: SyntaxKind.ModuleDeclaration;
5601
5610
  readonly parent: ModuleBody | SourceFile;
5602
5611
  readonly modifiers?: NodeArray<Modifier>;
@@ -5812,7 +5821,7 @@ declare namespace ts {
5812
5821
  readonly kind: SyntaxKind.JSDocOptionalType;
5813
5822
  readonly type: TypeNode;
5814
5823
  }
5815
- interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase {
5824
+ interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase, LocalsContainer {
5816
5825
  readonly kind: SyntaxKind.JSDocFunctionType;
5817
5826
  }
5818
5827
  interface JSDocVariadicType extends JSDocType {
@@ -5898,7 +5907,7 @@ declare namespace ts {
5898
5907
  interface JSDocOverrideTag extends JSDocTag {
5899
5908
  readonly kind: SyntaxKind.JSDocOverrideTag;
5900
5909
  }
5901
- interface JSDocEnumTag extends JSDocTag, Declaration {
5910
+ interface JSDocEnumTag extends JSDocTag, Declaration, LocalsContainer {
5902
5911
  readonly kind: SyntaxKind.JSDocEnumTag;
5903
5912
  readonly parent: JSDoc;
5904
5913
  readonly typeExpression: JSDocTypeExpression;
@@ -5924,21 +5933,30 @@ declare namespace ts {
5924
5933
  readonly kind: SyntaxKind.JSDocTypeTag;
5925
5934
  readonly typeExpression: JSDocTypeExpression;
5926
5935
  }
5927
- interface JSDocTypedefTag extends JSDocTag, NamedDeclaration {
5936
+ interface JSDocTypedefTag extends JSDocTag, NamedDeclaration, LocalsContainer {
5928
5937
  readonly kind: SyntaxKind.JSDocTypedefTag;
5929
5938
  readonly parent: JSDoc;
5930
5939
  readonly fullName?: JSDocNamespaceDeclaration | Identifier;
5931
5940
  readonly name?: Identifier;
5932
5941
  readonly typeExpression?: JSDocTypeExpression | JSDocTypeLiteral;
5933
5942
  }
5934
- interface JSDocCallbackTag extends JSDocTag, NamedDeclaration {
5943
+ interface JSDocCallbackTag extends JSDocTag, NamedDeclaration, LocalsContainer {
5935
5944
  readonly kind: SyntaxKind.JSDocCallbackTag;
5936
5945
  readonly parent: JSDoc;
5937
5946
  readonly fullName?: JSDocNamespaceDeclaration | Identifier;
5938
5947
  readonly name?: Identifier;
5939
5948
  readonly typeExpression: JSDocSignature;
5940
5949
  }
5941
- interface JSDocSignature extends JSDocType, Declaration {
5950
+ interface JSDocOverloadTag extends JSDocTag {
5951
+ readonly kind: SyntaxKind.JSDocOverloadTag;
5952
+ readonly parent: JSDoc;
5953
+ readonly typeExpression: JSDocSignature;
5954
+ }
5955
+ interface JSDocThrowsTag extends JSDocTag {
5956
+ readonly kind: SyntaxKind.JSDocThrowsTag;
5957
+ readonly typeExpression?: JSDocTypeExpression;
5958
+ }
5959
+ interface JSDocSignature extends JSDocType, Declaration, JSDocContainer, LocalsContainer {
5942
5960
  readonly kind: SyntaxKind.JSDocSignature;
5943
5961
  readonly typeParameters?: readonly JSDocTemplateTag[];
5944
5962
  readonly parameters: readonly JSDocParameterTag[];
@@ -5958,7 +5976,7 @@ declare namespace ts {
5958
5976
  interface JSDocParameterTag extends JSDocPropertyLikeTag {
5959
5977
  readonly kind: SyntaxKind.JSDocParameterTag;
5960
5978
  }
5961
- interface JSDocTypeLiteral extends JSDocType {
5979
+ interface JSDocTypeLiteral extends JSDocType, Declaration {
5962
5980
  readonly kind: SyntaxKind.JSDocTypeLiteral;
5963
5981
  readonly jsDocPropertyTags?: readonly JSDocPropertyLikeTag[];
5964
5982
  /** If true, then this type literal represents an *array* of its type. */
@@ -6038,7 +6056,7 @@ declare namespace ts {
6038
6056
  getLineAndCharacterOfPosition(pos: number): LineAndCharacter;
6039
6057
  }
6040
6058
  type ResolutionMode = ModuleKind.ESNext | ModuleKind.CommonJS | undefined;
6041
- interface SourceFile extends Declaration {
6059
+ interface SourceFile extends Declaration, LocalsContainer {
6042
6060
  readonly kind: SyntaxKind.SourceFile;
6043
6061
  readonly statements: NodeArray<Statement>;
6044
6062
  readonly endOfFileToken: Token<SyntaxKind.EndOfFileToken>;
@@ -6961,7 +6979,8 @@ declare namespace ts {
6961
6979
  Classic = 1,
6962
6980
  NodeJs = 2,
6963
6981
  Node16 = 3,
6964
- NodeNext = 99
6982
+ NodeNext = 99,
6983
+ Bundler = 100
6965
6984
  }
6966
6985
  enum ModuleDetectionKind {
6967
6986
  /**
@@ -7012,6 +7031,7 @@ declare namespace ts {
7012
7031
  }
7013
7032
  type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | PluginImport[] | ProjectReference[] | null | undefined;
7014
7033
  interface CompilerOptions {
7034
+ allowImportingTsExtensions?: boolean;
7015
7035
  allowJs?: boolean;
7016
7036
  allowSyntheticDefaultImports?: boolean;
7017
7037
  allowUmdGlobalAccess?: boolean;
@@ -7021,6 +7041,7 @@ declare namespace ts {
7021
7041
  baseUrl?: string;
7022
7042
  charset?: string;
7023
7043
  checkJs?: boolean;
7044
+ customConditions?: string[];
7024
7045
  declaration?: boolean;
7025
7046
  declarationMap?: boolean;
7026
7047
  emitDeclarationOnly?: boolean;
@@ -7085,6 +7106,8 @@ declare namespace ts {
7085
7106
  incremental?: boolean;
7086
7107
  tsBuildInfoFile?: string;
7087
7108
  removeComments?: boolean;
7109
+ resolvePackageJsonExports?: boolean;
7110
+ resolvePackageJsonImports?: boolean;
7088
7111
  rootDir?: string;
7089
7112
  rootDirs?: string[];
7090
7113
  skipLibCheck?: boolean;
@@ -7256,6 +7279,11 @@ declare namespace ts {
7256
7279
  resolvedFileName: string;
7257
7280
  /** True if `resolvedFileName` comes from `node_modules`. */
7258
7281
  isExternalLibraryImport?: boolean;
7282
+ /**
7283
+ * True if the original module reference used a .ts extension to refer directly to a .ts file,
7284
+ * which should produce an error during checking if emit is enabled.
7285
+ */
7286
+ resolvedUsingTsExtension?: boolean;
7259
7287
  }
7260
7288
  /**
7261
7289
  * ResolvedModule with an explicitly provided `extension` property.
@@ -7464,11 +7492,12 @@ declare namespace ts {
7464
7492
  createToken(token: SyntaxKind.NullKeyword): NullLiteral;
7465
7493
  createToken(token: SyntaxKind.TrueKeyword): TrueLiteral;
7466
7494
  createToken(token: SyntaxKind.FalseKeyword): FalseLiteral;
7495
+ createToken(token: SyntaxKind.EndOfFileToken): EndOfFileToken;
7496
+ createToken(token: SyntaxKind.Unknown): Token<SyntaxKind.Unknown>;
7467
7497
  createToken<TKind extends PunctuationSyntaxKind>(token: TKind): PunctuationToken<TKind>;
7468
7498
  createToken<TKind extends KeywordTypeSyntaxKind>(token: TKind): KeywordTypeNode<TKind>;
7469
7499
  createToken<TKind extends ModifierSyntaxKind>(token: TKind): ModifierToken<TKind>;
7470
7500
  createToken<TKind extends KeywordSyntaxKind>(token: TKind): KeywordToken<TKind>;
7471
- createToken<TKind extends SyntaxKind.Unknown | SyntaxKind.EndOfFileToken>(token: TKind): Token<TKind>;
7472
7501
  createSuper(): SuperExpression;
7473
7502
  createThis(): ThisExpression;
7474
7503
  createNull(): NullLiteral;
@@ -7777,6 +7806,8 @@ declare namespace ts {
7777
7806
  updateJSDocEnumTag(node: JSDocEnumTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment: string | NodeArray<JSDocComment> | undefined): JSDocEnumTag;
7778
7807
  createJSDocCallbackTag(tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName?: Identifier | JSDocNamespaceDeclaration, comment?: string | NodeArray<JSDocComment>): JSDocCallbackTag;
7779
7808
  updateJSDocCallbackTag(node: JSDocCallbackTag, tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName: Identifier | JSDocNamespaceDeclaration | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocCallbackTag;
7809
+ createJSDocOverloadTag(tagName: Identifier | undefined, typeExpression: JSDocSignature, comment?: string | NodeArray<JSDocComment>): JSDocOverloadTag;
7810
+ updateJSDocOverloadTag(node: JSDocOverloadTag, tagName: Identifier | undefined, typeExpression: JSDocSignature, comment: string | NodeArray<JSDocComment> | undefined): JSDocOverloadTag;
7780
7811
  createJSDocAugmentsTag(tagName: Identifier | undefined, className: JSDocAugmentsTag["class"], comment?: string | NodeArray<JSDocComment>): JSDocAugmentsTag;
7781
7812
  updateJSDocAugmentsTag(node: JSDocAugmentsTag, tagName: Identifier | undefined, className: JSDocAugmentsTag["class"], comment: string | NodeArray<JSDocComment> | undefined): JSDocAugmentsTag;
7782
7813
  createJSDocImplementsTag(tagName: Identifier | undefined, className: JSDocImplementsTag["class"], comment?: string | NodeArray<JSDocComment>): JSDocImplementsTag;
@@ -7799,6 +7830,8 @@ declare namespace ts {
7799
7830
  updateJSDocDeprecatedTag(node: JSDocDeprecatedTag, tagName: Identifier, comment?: string | NodeArray<JSDocComment>): JSDocDeprecatedTag;
7800
7831
  createJSDocOverrideTag(tagName: Identifier, comment?: string | NodeArray<JSDocComment>): JSDocOverrideTag;
7801
7832
  updateJSDocOverrideTag(node: JSDocOverrideTag, tagName: Identifier, comment?: string | NodeArray<JSDocComment>): JSDocOverrideTag;
7833
+ createJSDocThrowsTag(tagName: Identifier, typeExpression: JSDocTypeExpression | undefined, comment?: string | NodeArray<JSDocComment>): JSDocThrowsTag;
7834
+ updateJSDocThrowsTag(node: JSDocThrowsTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | undefined, comment?: string | NodeArray<JSDocComment> | undefined): JSDocThrowsTag;
7802
7835
  createJSDocText(text: string): JSDocText;
7803
7836
  updateJSDocText(node: JSDocText, text: string): JSDocText;
7804
7837
  createJSDocComment(comment?: string | NodeArray<JSDocComment> | undefined, tags?: readonly JSDocTag[] | undefined): JSDoc;
@@ -8369,6 +8402,7 @@ declare namespace ts {
8369
8402
  readonly includeInlayEnumMemberValueHints?: boolean;
8370
8403
  readonly allowRenameOfImportPath?: boolean;
8371
8404
  readonly autoImportFileExcludePatterns?: string[];
8405
+ readonly organizeImportsIgnoreCase?: "auto" | boolean;
8372
8406
  }
8373
8407
  /** Represents a bigint literal value without requiring bigint support */
8374
8408
  interface PseudoBigInt {
@@ -8759,6 +8793,9 @@ declare namespace ts {
8759
8793
  parent: ConstructorDeclaration;
8760
8794
  name: Identifier;
8761
8795
  };
8796
+ function emitModuleKindIsNonNodeESM(moduleKind: ModuleKind): boolean;
8797
+ function isJSDocOptionalParameter(node: ParameterDeclaration): boolean;
8798
+ function isOptionalDeclaration(declaration: Declaration): boolean;
8762
8799
  function createUnparsedSourceFile(text: string): UnparsedSource;
8763
8800
  function createUnparsedSourceFile(inputFile: InputFiles, type: "js" | "dts", stripInternal?: boolean): UnparsedSource;
8764
8801
  function createUnparsedSourceFile(text: string, mapPath: string | undefined, map: string | undefined): UnparsedSource;
@@ -9027,6 +9064,7 @@ declare namespace ts {
9027
9064
  function isJSDocProtectedTag(node: Node): node is JSDocProtectedTag;
9028
9065
  function isJSDocReadonlyTag(node: Node): node is JSDocReadonlyTag;
9029
9066
  function isJSDocOverrideTag(node: Node): node is JSDocOverrideTag;
9067
+ function isJSDocOverloadTag(node: Node): node is JSDocOverloadTag;
9030
9068
  function isJSDocDeprecatedTag(node: Node): node is JSDocDeprecatedTag;
9031
9069
  function isJSDocSeeTag(node: Node): node is JSDocSeeTag;
9032
9070
  function isJSDocEnumTag(node: Node): node is JSDocEnumTag;
@@ -9039,6 +9077,7 @@ declare namespace ts {
9039
9077
  function isJSDocUnknownTag(node: Node): node is JSDocUnknownTag;
9040
9078
  function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag;
9041
9079
  function isJSDocImplementsTag(node: Node): node is JSDocImplementsTag;
9080
+ function isJSDocThrowsTag(node: Node): node is JSDocThrowsTag;
9042
9081
  function setTextRange<T extends TextRange>(range: T, location: TextRange | undefined): T;
9043
9082
  function canHaveModifiers(node: Node): node is HasModifiers;
9044
9083
  function canHaveDecorators(node: Node): node is HasDecorators;
@@ -9160,7 +9199,7 @@ declare namespace ts {
9160
9199
  /**
9161
9200
  * Note that the case of the config path has not yet been normalized, as no files have been imported into the project yet
9162
9201
  */
9163
- extendedConfigPath?: string;
9202
+ extendedConfigPath?: string | string[];
9164
9203
  }
9165
9204
  interface ExtendedConfigCacheEntry {
9166
9205
  extendedResult: TsConfigSourceFile;
@@ -9186,8 +9225,11 @@ declare namespace ts {
9186
9225
  function createTypeReferenceDirectiveResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string, options?: CompilerOptions, packageJsonInfoCache?: PackageJsonInfoCache): TypeReferenceDirectiveResolutionCache;
9187
9226
  function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache, mode?: ResolutionMode): ResolvedModuleWithFailedLookupLocations | undefined;
9188
9227
  function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference, resolutionMode?: ResolutionMode): ResolvedModuleWithFailedLookupLocations;
9228
+ function bundlerModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
9189
9229
  function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
9190
9230
  function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
9231
+ function moduleResolutionSupportsResolvingTsExtensions(compilerOptions: CompilerOptions): boolean;
9232
+ function shouldAllowImportingTsExtension(compilerOptions: CompilerOptions, fromFileName?: string): boolean | "" | undefined;
9191
9233
  interface TypeReferenceDirectiveResolutionCache extends PerDirectoryResolutionCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>, NonRelativeNameResolutionCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>, PackageJsonInfoCache {
9192
9234
  }
9193
9235
  interface ModeAwareCache<T> {