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.
@@ -404,23 +404,25 @@ declare namespace ts {
404
404
  JSDocReadonlyTag = 339,
405
405
  JSDocOverrideTag = 340,
406
406
  JSDocCallbackTag = 341,
407
- JSDocEnumTag = 342,
408
- JSDocParameterTag = 343,
409
- JSDocReturnTag = 344,
410
- JSDocThisTag = 345,
411
- JSDocTypeTag = 346,
412
- JSDocTemplateTag = 347,
413
- JSDocTypedefTag = 348,
414
- JSDocSeeTag = 349,
415
- JSDocPropertyTag = 350,
416
- SyntaxList = 351,
417
- NotEmittedStatement = 352,
418
- PartiallyEmittedExpression = 353,
419
- CommaListExpression = 354,
420
- MergeDeclarationMarker = 355,
421
- EndOfDeclarationMarker = 356,
422
- SyntheticReferenceExpression = 357,
423
- Count = 358,
407
+ JSDocOverloadTag = 342,
408
+ JSDocEnumTag = 343,
409
+ JSDocParameterTag = 344,
410
+ JSDocReturnTag = 345,
411
+ JSDocThisTag = 346,
412
+ JSDocTypeTag = 347,
413
+ JSDocTemplateTag = 348,
414
+ JSDocTypedefTag = 349,
415
+ JSDocSeeTag = 350,
416
+ JSDocPropertyTag = 351,
417
+ JSDocThrowsTag = 352,
418
+ SyntaxList = 353,
419
+ NotEmittedStatement = 354,
420
+ PartiallyEmittedExpression = 355,
421
+ CommaListExpression = 356,
422
+ MergeDeclarationMarker = 357,
423
+ EndOfDeclarationMarker = 358,
424
+ SyntheticReferenceExpression = 359,
425
+ Count = 360,
424
426
  FirstAssignment = 63,
425
427
  LastAssignment = 78,
426
428
  FirstCompoundAssignment = 64,
@@ -449,9 +451,9 @@ declare namespace ts {
449
451
  LastStatement = 256,
450
452
  FirstNode = 163,
451
453
  FirstJSDocNode = 312,
452
- LastJSDocNode = 350,
454
+ LastJSDocNode = 352,
453
455
  FirstJSDocTagNode = 330,
454
- LastJSDocTagNode = 350
456
+ LastJSDocTagNode = 352
455
457
  }
456
458
  type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ShebangTrivia | SyntaxKind.ConflictMarkerTrivia;
457
459
  type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral;
@@ -577,9 +579,16 @@ declare namespace ts {
577
579
  */
578
580
  readonly modifiers?: NodeArray<ModifierLike> | undefined;
579
581
  }
580
- interface JSDocContainer {
582
+ interface JSDocContainer extends Node {
583
+ _jsdocContainerBrand: any;
581
584
  }
582
- 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;
585
+ interface LocalsContainer extends Node {
586
+ _localsContainerBrand: any;
587
+ }
588
+ interface FlowContainer extends Node {
589
+ _flowContainerBrand: any;
590
+ }
591
+ 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;
583
592
  type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType;
584
593
  type HasTypeArguments = CallExpression | NewExpression | TaggedTemplateExpression | JsxOpeningElement | JsxSelfClosingElement;
585
594
  type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute;
@@ -611,6 +620,7 @@ declare namespace ts {
611
620
  type AssertsKeyword = KeywordToken<SyntaxKind.AssertsKeyword>;
612
621
  type AssertKeyword = KeywordToken<SyntaxKind.AssertKeyword>;
613
622
  type AwaitKeyword = KeywordToken<SyntaxKind.AwaitKeyword>;
623
+ type CaseKeyword = KeywordToken<SyntaxKind.CaseKeyword>;
614
624
  /** @deprecated Use `AwaitKeyword` instead. */
615
625
  type AwaitKeywordToken = AwaitKeyword;
616
626
  /** @deprecated Use `AssertsKeyword` instead. */
@@ -647,7 +657,7 @@ declare namespace ts {
647
657
  FileLevel = 32,
648
658
  AllowNameSubstitution = 64
649
659
  }
650
- interface Identifier extends PrimaryExpression, Declaration {
660
+ interface Identifier extends PrimaryExpression, Declaration, JSDocContainer, FlowContainer {
651
661
  readonly kind: SyntaxKind.Identifier;
652
662
  /**
653
663
  * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.)
@@ -663,7 +673,7 @@ declare namespace ts {
663
673
  interface TransientIdentifier extends Identifier {
664
674
  resolvedSymbol: Symbol;
665
675
  }
666
- interface QualifiedName extends Node {
676
+ interface QualifiedName extends Node, FlowContainer {
667
677
  readonly kind: SyntaxKind.QualifiedName;
668
678
  readonly left: EntityName;
669
679
  readonly right: Identifier;
@@ -698,7 +708,7 @@ declare namespace ts {
698
708
  readonly parent: NamedDeclaration;
699
709
  readonly expression: LeftHandSideExpression;
700
710
  }
701
- interface TypeParameterDeclaration extends NamedDeclaration {
711
+ interface TypeParameterDeclaration extends NamedDeclaration, JSDocContainer {
702
712
  readonly kind: SyntaxKind.TypeParameter;
703
713
  readonly parent: DeclarationWithTypeParameterChildren | InferTypeNode;
704
714
  readonly modifiers?: NodeArray<Modifier>;
@@ -716,10 +726,10 @@ declare namespace ts {
716
726
  readonly type?: TypeNode | undefined;
717
727
  }
718
728
  type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction;
719
- interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement {
729
+ interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement, LocalsContainer {
720
730
  readonly kind: SyntaxKind.CallSignature;
721
731
  }
722
- interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement {
732
+ interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement, LocalsContainer {
723
733
  readonly kind: SyntaxKind.ConstructSignature;
724
734
  }
725
735
  type BindingName = Identifier | BindingPattern;
@@ -746,7 +756,7 @@ declare namespace ts {
746
756
  readonly type?: TypeNode;
747
757
  readonly initializer?: Expression;
748
758
  }
749
- interface BindingElement extends NamedDeclaration {
759
+ interface BindingElement extends NamedDeclaration, FlowContainer {
750
760
  readonly kind: SyntaxKind.BindingElement;
751
761
  readonly parent: BindingPattern;
752
762
  readonly propertyName?: PropertyName;
@@ -756,6 +766,7 @@ declare namespace ts {
756
766
  }
757
767
  interface PropertySignature extends TypeElement, JSDocContainer {
758
768
  readonly kind: SyntaxKind.PropertySignature;
769
+ readonly parent: TypeLiteralNode | InterfaceDeclaration;
759
770
  readonly modifiers?: NodeArray<Modifier>;
760
771
  readonly name: PropertyName;
761
772
  readonly questionToken?: QuestionToken;
@@ -817,9 +828,6 @@ declare namespace ts {
817
828
  readonly expression: Expression;
818
829
  }
819
830
  type VariableLikeDeclaration = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | PropertySignature | JsxAttribute | ShorthandPropertyAssignment | EnumMember | JSDocPropertyTag | JSDocParameterTag;
820
- interface PropertyLikeDeclaration extends NamedDeclaration {
821
- readonly name: PropertyName;
822
- }
823
831
  interface ObjectBindingPattern extends Node {
824
832
  readonly kind: SyntaxKind.ObjectBindingPattern;
825
833
  readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement;
@@ -850,26 +858,26 @@ declare namespace ts {
850
858
  type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction;
851
859
  /** @deprecated Use SignatureDeclaration */
852
860
  type FunctionLike = SignatureDeclaration;
853
- interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement {
861
+ interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement, LocalsContainer {
854
862
  readonly kind: SyntaxKind.FunctionDeclaration;
855
863
  readonly modifiers?: NodeArray<Modifier>;
856
864
  readonly name?: Identifier;
857
865
  readonly body?: FunctionBody;
858
866
  }
859
- interface MethodSignature extends SignatureDeclarationBase, TypeElement {
867
+ interface MethodSignature extends SignatureDeclarationBase, TypeElement, LocalsContainer {
860
868
  readonly kind: SyntaxKind.MethodSignature;
861
- readonly parent: ObjectTypeDeclaration;
869
+ readonly parent: TypeLiteralNode | InterfaceDeclaration;
862
870
  readonly modifiers?: NodeArray<Modifier>;
863
871
  readonly name: PropertyName;
864
872
  }
865
- interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer {
873
+ interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {
866
874
  readonly kind: SyntaxKind.MethodDeclaration;
867
875
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression;
868
876
  readonly modifiers?: NodeArray<ModifierLike> | undefined;
869
877
  readonly name: PropertyName;
870
878
  readonly body?: FunctionBody | undefined;
871
879
  }
872
- interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer {
880
+ interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer, LocalsContainer {
873
881
  readonly kind: SyntaxKind.Constructor;
874
882
  readonly parent: ClassLikeDeclaration;
875
883
  readonly modifiers?: NodeArray<Modifier> | undefined;
@@ -880,14 +888,14 @@ declare namespace ts {
880
888
  readonly kind: SyntaxKind.SemicolonClassElement;
881
889
  readonly parent: ClassLikeDeclaration;
882
890
  }
883
- interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer {
891
+ interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {
884
892
  readonly kind: SyntaxKind.GetAccessor;
885
893
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;
886
894
  readonly modifiers?: NodeArray<ModifierLike>;
887
895
  readonly name: PropertyName;
888
896
  readonly body?: FunctionBody;
889
897
  }
890
- interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer {
898
+ interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {
891
899
  readonly kind: SyntaxKind.SetAccessor;
892
900
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;
893
901
  readonly modifiers?: NodeArray<ModifierLike>;
@@ -895,13 +903,13 @@ declare namespace ts {
895
903
  readonly body?: FunctionBody;
896
904
  }
897
905
  type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration;
898
- interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement {
906
+ interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement, LocalsContainer {
899
907
  readonly kind: SyntaxKind.IndexSignature;
900
908
  readonly parent: ObjectTypeDeclaration;
901
909
  readonly modifiers?: NodeArray<Modifier>;
902
910
  readonly type: TypeNode;
903
911
  }
904
- interface ClassStaticBlockDeclaration extends ClassElement, JSDocContainer {
912
+ interface ClassStaticBlockDeclaration extends ClassElement, JSDocContainer, LocalsContainer {
905
913
  readonly kind: SyntaxKind.ClassStaticBlockDeclaration;
906
914
  readonly parent: ClassDeclaration | ClassExpression;
907
915
  readonly body: Block;
@@ -933,14 +941,14 @@ declare namespace ts {
933
941
  readonly kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType;
934
942
  readonly type: TypeNode;
935
943
  }
936
- interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase {
944
+ interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase, LocalsContainer {
937
945
  readonly kind: SyntaxKind.FunctionType;
938
946
  }
939
947
  interface FunctionTypeNode {
940
948
  /** @deprecated A function type cannot have modifiers */
941
949
  readonly modifiers?: NodeArray<Modifier> | undefined;
942
950
  }
943
- interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase {
951
+ interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase, LocalsContainer {
944
952
  readonly kind: SyntaxKind.ConstructorType;
945
953
  readonly modifiers?: NodeArray<Modifier>;
946
954
  }
@@ -975,7 +983,7 @@ declare namespace ts {
975
983
  readonly kind: SyntaxKind.TupleType;
976
984
  readonly elements: NodeArray<TypeNode | NamedTupleMember>;
977
985
  }
978
- interface NamedTupleMember extends TypeNode, JSDocContainer, Declaration {
986
+ interface NamedTupleMember extends TypeNode, Declaration, JSDocContainer {
979
987
  readonly kind: SyntaxKind.NamedTupleMember;
980
988
  readonly dotDotDotToken?: Token<SyntaxKind.DotDotDotToken>;
981
989
  readonly name: Identifier;
@@ -999,7 +1007,7 @@ declare namespace ts {
999
1007
  readonly kind: SyntaxKind.IntersectionType;
1000
1008
  readonly types: NodeArray<TypeNode>;
1001
1009
  }
1002
- interface ConditionalTypeNode extends TypeNode {
1010
+ interface ConditionalTypeNode extends TypeNode, LocalsContainer {
1003
1011
  readonly kind: SyntaxKind.ConditionalType;
1004
1012
  readonly checkType: TypeNode;
1005
1013
  readonly extendsType: TypeNode;
@@ -1024,7 +1032,7 @@ declare namespace ts {
1024
1032
  readonly objectType: TypeNode;
1025
1033
  readonly indexType: TypeNode;
1026
1034
  }
1027
- interface MappedTypeNode extends TypeNode, Declaration {
1035
+ interface MappedTypeNode extends TypeNode, Declaration, LocalsContainer {
1028
1036
  readonly kind: SyntaxKind.MappedType;
1029
1037
  readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken;
1030
1038
  readonly typeParameter: TypeParameterDeclaration;
@@ -1103,10 +1111,10 @@ declare namespace ts {
1103
1111
  readonly kind: SyntaxKind.FalseKeyword;
1104
1112
  }
1105
1113
  type BooleanLiteral = TrueLiteral | FalseLiteral;
1106
- interface ThisExpression extends PrimaryExpression {
1114
+ interface ThisExpression extends PrimaryExpression, FlowContainer {
1107
1115
  readonly kind: SyntaxKind.ThisKeyword;
1108
1116
  }
1109
- interface SuperExpression extends PrimaryExpression {
1117
+ interface SuperExpression extends PrimaryExpression, FlowContainer {
1110
1118
  readonly kind: SyntaxKind.SuperKeyword;
1111
1119
  }
1112
1120
  interface ImportExpression extends PrimaryExpression {
@@ -1160,7 +1168,7 @@ declare namespace ts {
1160
1168
  type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken;
1161
1169
  type LogicalOrCoalescingAssignmentOperator = SyntaxKind.AmpersandAmpersandEqualsToken | SyntaxKind.BarBarEqualsToken | SyntaxKind.QuestionQuestionEqualsToken;
1162
1170
  type BinaryOperatorToken = Token<BinaryOperator>;
1163
- interface BinaryExpression extends Expression, Declaration {
1171
+ interface BinaryExpression extends Expression, Declaration, JSDocContainer {
1164
1172
  readonly kind: SyntaxKind.BinaryExpression;
1165
1173
  readonly left: Expression;
1166
1174
  readonly operatorToken: BinaryOperatorToken;
@@ -1197,13 +1205,13 @@ declare namespace ts {
1197
1205
  }
1198
1206
  type FunctionBody = Block;
1199
1207
  type ConciseBody = FunctionBody | Expression;
1200
- interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer {
1208
+ interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer, LocalsContainer, FlowContainer {
1201
1209
  readonly kind: SyntaxKind.FunctionExpression;
1202
1210
  readonly modifiers?: NodeArray<Modifier>;
1203
1211
  readonly name?: Identifier;
1204
1212
  readonly body: FunctionBody;
1205
1213
  }
1206
- interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer {
1214
+ interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer, LocalsContainer, FlowContainer {
1207
1215
  readonly kind: SyntaxKind.ArrowFunction;
1208
1216
  readonly modifiers?: NodeArray<Modifier>;
1209
1217
  readonly equalsGreaterThanToken: EqualsGreaterThanToken;
@@ -1290,13 +1298,13 @@ declare namespace ts {
1290
1298
  interface ObjectLiteralExpressionBase<T extends ObjectLiteralElement> extends PrimaryExpression, Declaration {
1291
1299
  readonly properties: NodeArray<T>;
1292
1300
  }
1293
- interface ObjectLiteralExpression extends ObjectLiteralExpressionBase<ObjectLiteralElementLike> {
1301
+ interface ObjectLiteralExpression extends ObjectLiteralExpressionBase<ObjectLiteralElementLike>, JSDocContainer {
1294
1302
  readonly kind: SyntaxKind.ObjectLiteralExpression;
1295
1303
  }
1296
1304
  type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression;
1297
1305
  type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression;
1298
1306
  type AccessExpression = PropertyAccessExpression | ElementAccessExpression;
1299
- interface PropertyAccessExpression extends MemberExpression, NamedDeclaration {
1307
+ interface PropertyAccessExpression extends MemberExpression, NamedDeclaration, JSDocContainer, FlowContainer {
1300
1308
  readonly kind: SyntaxKind.PropertyAccessExpression;
1301
1309
  readonly expression: LeftHandSideExpression;
1302
1310
  readonly questionDotToken?: QuestionDotToken;
@@ -1315,7 +1323,7 @@ declare namespace ts {
1315
1323
  readonly expression: EntityNameExpression;
1316
1324
  readonly name: Identifier;
1317
1325
  }
1318
- interface ElementAccessExpression extends MemberExpression {
1326
+ interface ElementAccessExpression extends MemberExpression, Declaration, JSDocContainer, FlowContainer {
1319
1327
  readonly kind: SyntaxKind.ElementAccessExpression;
1320
1328
  readonly expression: LeftHandSideExpression;
1321
1329
  readonly questionDotToken?: QuestionDotToken;
@@ -1385,7 +1393,7 @@ declare namespace ts {
1385
1393
  interface NonNullChain extends NonNullExpression {
1386
1394
  _optionalChainBrand: any;
1387
1395
  }
1388
- interface MetaProperty extends PrimaryExpression {
1396
+ interface MetaProperty extends PrimaryExpression, FlowContainer {
1389
1397
  readonly kind: SyntaxKind.MetaProperty;
1390
1398
  readonly keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword;
1391
1399
  readonly name: Identifier;
@@ -1478,7 +1486,7 @@ declare namespace ts {
1478
1486
  interface EmptyStatement extends Statement {
1479
1487
  readonly kind: SyntaxKind.EmptyStatement;
1480
1488
  }
1481
- interface DebuggerStatement extends Statement {
1489
+ interface DebuggerStatement extends Statement, FlowContainer {
1482
1490
  readonly kind: SyntaxKind.DebuggerStatement;
1483
1491
  }
1484
1492
  interface MissingDeclaration extends DeclarationStatement {
@@ -1486,20 +1494,20 @@ declare namespace ts {
1486
1494
  readonly name?: Identifier;
1487
1495
  }
1488
1496
  type BlockLike = SourceFile | Block | ModuleBlock | CaseOrDefaultClause;
1489
- interface Block extends Statement {
1497
+ interface Block extends Statement, LocalsContainer {
1490
1498
  readonly kind: SyntaxKind.Block;
1491
1499
  readonly statements: NodeArray<Statement>;
1492
1500
  }
1493
- interface VariableStatement extends Statement {
1501
+ interface VariableStatement extends Statement, FlowContainer {
1494
1502
  readonly kind: SyntaxKind.VariableStatement;
1495
1503
  readonly modifiers?: NodeArray<Modifier>;
1496
1504
  readonly declarationList: VariableDeclarationList;
1497
1505
  }
1498
- interface ExpressionStatement extends Statement {
1506
+ interface ExpressionStatement extends Statement, FlowContainer {
1499
1507
  readonly kind: SyntaxKind.ExpressionStatement;
1500
1508
  readonly expression: Expression;
1501
1509
  }
1502
- interface IfStatement extends Statement {
1510
+ interface IfStatement extends Statement, FlowContainer {
1503
1511
  readonly kind: SyntaxKind.IfStatement;
1504
1512
  readonly expression: Expression;
1505
1513
  readonly thenStatement: Statement;
@@ -1508,58 +1516,58 @@ declare namespace ts {
1508
1516
  interface IterationStatement extends Statement {
1509
1517
  readonly statement: Statement;
1510
1518
  }
1511
- interface DoStatement extends IterationStatement {
1519
+ interface DoStatement extends IterationStatement, FlowContainer {
1512
1520
  readonly kind: SyntaxKind.DoStatement;
1513
1521
  readonly expression: Expression;
1514
1522
  }
1515
- interface WhileStatement extends IterationStatement {
1523
+ interface WhileStatement extends IterationStatement, FlowContainer {
1516
1524
  readonly kind: SyntaxKind.WhileStatement;
1517
1525
  readonly expression: Expression;
1518
1526
  }
1519
1527
  type ForInitializer = VariableDeclarationList | Expression;
1520
- interface ForStatement extends IterationStatement {
1528
+ interface ForStatement extends IterationStatement, LocalsContainer, FlowContainer {
1521
1529
  readonly kind: SyntaxKind.ForStatement;
1522
1530
  readonly initializer?: ForInitializer;
1523
1531
  readonly condition?: Expression;
1524
1532
  readonly incrementor?: Expression;
1525
1533
  }
1526
1534
  type ForInOrOfStatement = ForInStatement | ForOfStatement;
1527
- interface ForInStatement extends IterationStatement {
1535
+ interface ForInStatement extends IterationStatement, LocalsContainer, FlowContainer {
1528
1536
  readonly kind: SyntaxKind.ForInStatement;
1529
1537
  readonly initializer: ForInitializer;
1530
1538
  readonly expression: Expression;
1531
1539
  }
1532
- interface ForOfStatement extends IterationStatement {
1540
+ interface ForOfStatement extends IterationStatement, LocalsContainer, FlowContainer {
1533
1541
  readonly kind: SyntaxKind.ForOfStatement;
1534
1542
  readonly awaitModifier?: AwaitKeyword;
1535
1543
  readonly initializer: ForInitializer;
1536
1544
  readonly expression: Expression;
1537
1545
  }
1538
- interface BreakStatement extends Statement {
1546
+ interface BreakStatement extends Statement, FlowContainer {
1539
1547
  readonly kind: SyntaxKind.BreakStatement;
1540
1548
  readonly label?: Identifier;
1541
1549
  }
1542
- interface ContinueStatement extends Statement {
1550
+ interface ContinueStatement extends Statement, FlowContainer {
1543
1551
  readonly kind: SyntaxKind.ContinueStatement;
1544
1552
  readonly label?: Identifier;
1545
1553
  }
1546
1554
  type BreakOrContinueStatement = BreakStatement | ContinueStatement;
1547
- interface ReturnStatement extends Statement {
1555
+ interface ReturnStatement extends Statement, FlowContainer {
1548
1556
  readonly kind: SyntaxKind.ReturnStatement;
1549
1557
  readonly expression?: Expression;
1550
1558
  }
1551
- interface WithStatement extends Statement {
1559
+ interface WithStatement extends Statement, FlowContainer {
1552
1560
  readonly kind: SyntaxKind.WithStatement;
1553
1561
  readonly expression: Expression;
1554
1562
  readonly statement: Statement;
1555
1563
  }
1556
- interface SwitchStatement extends Statement {
1564
+ interface SwitchStatement extends Statement, FlowContainer {
1557
1565
  readonly kind: SyntaxKind.SwitchStatement;
1558
1566
  readonly expression: Expression;
1559
1567
  readonly caseBlock: CaseBlock;
1560
1568
  possiblyExhaustive?: boolean;
1561
1569
  }
1562
- interface CaseBlock extends Node {
1570
+ interface CaseBlock extends Node, LocalsContainer {
1563
1571
  readonly kind: SyntaxKind.CaseBlock;
1564
1572
  readonly parent: SwitchStatement;
1565
1573
  readonly clauses: NodeArray<CaseOrDefaultClause>;
@@ -1576,22 +1584,22 @@ declare namespace ts {
1576
1584
  readonly statements: NodeArray<Statement>;
1577
1585
  }
1578
1586
  type CaseOrDefaultClause = CaseClause | DefaultClause;
1579
- interface LabeledStatement extends Statement {
1587
+ interface LabeledStatement extends Statement, FlowContainer {
1580
1588
  readonly kind: SyntaxKind.LabeledStatement;
1581
1589
  readonly label: Identifier;
1582
1590
  readonly statement: Statement;
1583
1591
  }
1584
- interface ThrowStatement extends Statement {
1592
+ interface ThrowStatement extends Statement, FlowContainer {
1585
1593
  readonly kind: SyntaxKind.ThrowStatement;
1586
1594
  readonly expression: Expression;
1587
1595
  }
1588
- interface TryStatement extends Statement {
1596
+ interface TryStatement extends Statement, FlowContainer {
1589
1597
  readonly kind: SyntaxKind.TryStatement;
1590
1598
  readonly tryBlock: Block;
1591
1599
  readonly catchClause?: CatchClause;
1592
1600
  readonly finallyBlock?: Block;
1593
1601
  }
1594
- interface CatchClause extends Node {
1602
+ interface CatchClause extends Node, LocalsContainer {
1595
1603
  readonly kind: SyntaxKind.CatchClause;
1596
1604
  readonly parent: TryStatement;
1597
1605
  readonly variableDeclaration?: VariableDeclaration;
@@ -1641,7 +1649,7 @@ declare namespace ts {
1641
1649
  readonly token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword;
1642
1650
  readonly types: NodeArray<ExpressionWithTypeArguments>;
1643
1651
  }
1644
- interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer {
1652
+ interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer, LocalsContainer {
1645
1653
  readonly kind: SyntaxKind.TypeAliasDeclaration;
1646
1654
  readonly modifiers?: NodeArray<Modifier>;
1647
1655
  readonly name: Identifier;
@@ -1662,7 +1670,7 @@ declare namespace ts {
1662
1670
  }
1663
1671
  type ModuleName = Identifier | StringLiteral;
1664
1672
  type ModuleBody = NamespaceBody | JSDocNamespaceBody;
1665
- interface ModuleDeclaration extends DeclarationStatement, JSDocContainer {
1673
+ interface ModuleDeclaration extends DeclarationStatement, JSDocContainer, LocalsContainer {
1666
1674
  readonly kind: SyntaxKind.ModuleDeclaration;
1667
1675
  readonly parent: ModuleBody | SourceFile;
1668
1676
  readonly modifiers?: NodeArray<Modifier>;
@@ -1878,7 +1886,7 @@ declare namespace ts {
1878
1886
  readonly kind: SyntaxKind.JSDocOptionalType;
1879
1887
  readonly type: TypeNode;
1880
1888
  }
1881
- interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase {
1889
+ interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase, LocalsContainer {
1882
1890
  readonly kind: SyntaxKind.JSDocFunctionType;
1883
1891
  }
1884
1892
  interface JSDocVariadicType extends JSDocType {
@@ -1964,7 +1972,7 @@ declare namespace ts {
1964
1972
  interface JSDocOverrideTag extends JSDocTag {
1965
1973
  readonly kind: SyntaxKind.JSDocOverrideTag;
1966
1974
  }
1967
- interface JSDocEnumTag extends JSDocTag, Declaration {
1975
+ interface JSDocEnumTag extends JSDocTag, Declaration, LocalsContainer {
1968
1976
  readonly kind: SyntaxKind.JSDocEnumTag;
1969
1977
  readonly parent: JSDoc;
1970
1978
  readonly typeExpression: JSDocTypeExpression;
@@ -1990,21 +1998,30 @@ declare namespace ts {
1990
1998
  readonly kind: SyntaxKind.JSDocTypeTag;
1991
1999
  readonly typeExpression: JSDocTypeExpression;
1992
2000
  }
1993
- interface JSDocTypedefTag extends JSDocTag, NamedDeclaration {
2001
+ interface JSDocTypedefTag extends JSDocTag, NamedDeclaration, LocalsContainer {
1994
2002
  readonly kind: SyntaxKind.JSDocTypedefTag;
1995
2003
  readonly parent: JSDoc;
1996
2004
  readonly fullName?: JSDocNamespaceDeclaration | Identifier;
1997
2005
  readonly name?: Identifier;
1998
2006
  readonly typeExpression?: JSDocTypeExpression | JSDocTypeLiteral;
1999
2007
  }
2000
- interface JSDocCallbackTag extends JSDocTag, NamedDeclaration {
2008
+ interface JSDocCallbackTag extends JSDocTag, NamedDeclaration, LocalsContainer {
2001
2009
  readonly kind: SyntaxKind.JSDocCallbackTag;
2002
2010
  readonly parent: JSDoc;
2003
2011
  readonly fullName?: JSDocNamespaceDeclaration | Identifier;
2004
2012
  readonly name?: Identifier;
2005
2013
  readonly typeExpression: JSDocSignature;
2006
2014
  }
2007
- interface JSDocSignature extends JSDocType, Declaration {
2015
+ interface JSDocOverloadTag extends JSDocTag {
2016
+ readonly kind: SyntaxKind.JSDocOverloadTag;
2017
+ readonly parent: JSDoc;
2018
+ readonly typeExpression: JSDocSignature;
2019
+ }
2020
+ interface JSDocThrowsTag extends JSDocTag {
2021
+ readonly kind: SyntaxKind.JSDocThrowsTag;
2022
+ readonly typeExpression?: JSDocTypeExpression;
2023
+ }
2024
+ interface JSDocSignature extends JSDocType, Declaration, JSDocContainer, LocalsContainer {
2008
2025
  readonly kind: SyntaxKind.JSDocSignature;
2009
2026
  readonly typeParameters?: readonly JSDocTemplateTag[];
2010
2027
  readonly parameters: readonly JSDocParameterTag[];
@@ -2024,7 +2041,7 @@ declare namespace ts {
2024
2041
  interface JSDocParameterTag extends JSDocPropertyLikeTag {
2025
2042
  readonly kind: SyntaxKind.JSDocParameterTag;
2026
2043
  }
2027
- interface JSDocTypeLiteral extends JSDocType {
2044
+ interface JSDocTypeLiteral extends JSDocType, Declaration {
2028
2045
  readonly kind: SyntaxKind.JSDocTypeLiteral;
2029
2046
  readonly jsDocPropertyTags?: readonly JSDocPropertyLikeTag[];
2030
2047
  /** If true, then this type literal represents an *array* of its type. */
@@ -2104,7 +2121,7 @@ declare namespace ts {
2104
2121
  getLineAndCharacterOfPosition(pos: number): LineAndCharacter;
2105
2122
  }
2106
2123
  type ResolutionMode = ModuleKind.ESNext | ModuleKind.CommonJS | undefined;
2107
- interface SourceFile extends Declaration {
2124
+ interface SourceFile extends Declaration, LocalsContainer {
2108
2125
  readonly kind: SyntaxKind.SourceFile;
2109
2126
  readonly statements: NodeArray<Statement>;
2110
2127
  readonly endOfFileToken: Token<SyntaxKind.EndOfFileToken>;
@@ -3027,7 +3044,8 @@ declare namespace ts {
3027
3044
  Classic = 1,
3028
3045
  NodeJs = 2,
3029
3046
  Node16 = 3,
3030
- NodeNext = 99
3047
+ NodeNext = 99,
3048
+ Bundler = 100
3031
3049
  }
3032
3050
  enum ModuleDetectionKind {
3033
3051
  /**
@@ -3078,6 +3096,7 @@ declare namespace ts {
3078
3096
  }
3079
3097
  type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | PluginImport[] | ProjectReference[] | null | undefined;
3080
3098
  interface CompilerOptions {
3099
+ allowImportingTsExtensions?: boolean;
3081
3100
  allowJs?: boolean;
3082
3101
  allowSyntheticDefaultImports?: boolean;
3083
3102
  allowUmdGlobalAccess?: boolean;
@@ -3087,6 +3106,7 @@ declare namespace ts {
3087
3106
  baseUrl?: string;
3088
3107
  charset?: string;
3089
3108
  checkJs?: boolean;
3109
+ customConditions?: string[];
3090
3110
  declaration?: boolean;
3091
3111
  declarationMap?: boolean;
3092
3112
  emitDeclarationOnly?: boolean;
@@ -3151,6 +3171,8 @@ declare namespace ts {
3151
3171
  incremental?: boolean;
3152
3172
  tsBuildInfoFile?: string;
3153
3173
  removeComments?: boolean;
3174
+ resolvePackageJsonExports?: boolean;
3175
+ resolvePackageJsonImports?: boolean;
3154
3176
  rootDir?: string;
3155
3177
  rootDirs?: string[];
3156
3178
  skipLibCheck?: boolean;
@@ -3322,6 +3344,11 @@ declare namespace ts {
3322
3344
  resolvedFileName: string;
3323
3345
  /** True if `resolvedFileName` comes from `node_modules`. */
3324
3346
  isExternalLibraryImport?: boolean;
3347
+ /**
3348
+ * True if the original module reference used a .ts extension to refer directly to a .ts file,
3349
+ * which should produce an error during checking if emit is enabled.
3350
+ */
3351
+ resolvedUsingTsExtension?: boolean;
3325
3352
  }
3326
3353
  /**
3327
3354
  * ResolvedModule with an explicitly provided `extension` property.
@@ -3530,11 +3557,12 @@ declare namespace ts {
3530
3557
  createToken(token: SyntaxKind.NullKeyword): NullLiteral;
3531
3558
  createToken(token: SyntaxKind.TrueKeyword): TrueLiteral;
3532
3559
  createToken(token: SyntaxKind.FalseKeyword): FalseLiteral;
3560
+ createToken(token: SyntaxKind.EndOfFileToken): EndOfFileToken;
3561
+ createToken(token: SyntaxKind.Unknown): Token<SyntaxKind.Unknown>;
3533
3562
  createToken<TKind extends PunctuationSyntaxKind>(token: TKind): PunctuationToken<TKind>;
3534
3563
  createToken<TKind extends KeywordTypeSyntaxKind>(token: TKind): KeywordTypeNode<TKind>;
3535
3564
  createToken<TKind extends ModifierSyntaxKind>(token: TKind): ModifierToken<TKind>;
3536
3565
  createToken<TKind extends KeywordSyntaxKind>(token: TKind): KeywordToken<TKind>;
3537
- createToken<TKind extends SyntaxKind.Unknown | SyntaxKind.EndOfFileToken>(token: TKind): Token<TKind>;
3538
3566
  createSuper(): SuperExpression;
3539
3567
  createThis(): ThisExpression;
3540
3568
  createNull(): NullLiteral;
@@ -3843,6 +3871,8 @@ declare namespace ts {
3843
3871
  updateJSDocEnumTag(node: JSDocEnumTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment: string | NodeArray<JSDocComment> | undefined): JSDocEnumTag;
3844
3872
  createJSDocCallbackTag(tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName?: Identifier | JSDocNamespaceDeclaration, comment?: string | NodeArray<JSDocComment>): JSDocCallbackTag;
3845
3873
  updateJSDocCallbackTag(node: JSDocCallbackTag, tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName: Identifier | JSDocNamespaceDeclaration | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocCallbackTag;
3874
+ createJSDocOverloadTag(tagName: Identifier | undefined, typeExpression: JSDocSignature, comment?: string | NodeArray<JSDocComment>): JSDocOverloadTag;
3875
+ updateJSDocOverloadTag(node: JSDocOverloadTag, tagName: Identifier | undefined, typeExpression: JSDocSignature, comment: string | NodeArray<JSDocComment> | undefined): JSDocOverloadTag;
3846
3876
  createJSDocAugmentsTag(tagName: Identifier | undefined, className: JSDocAugmentsTag["class"], comment?: string | NodeArray<JSDocComment>): JSDocAugmentsTag;
3847
3877
  updateJSDocAugmentsTag(node: JSDocAugmentsTag, tagName: Identifier | undefined, className: JSDocAugmentsTag["class"], comment: string | NodeArray<JSDocComment> | undefined): JSDocAugmentsTag;
3848
3878
  createJSDocImplementsTag(tagName: Identifier | undefined, className: JSDocImplementsTag["class"], comment?: string | NodeArray<JSDocComment>): JSDocImplementsTag;
@@ -3865,6 +3895,8 @@ declare namespace ts {
3865
3895
  updateJSDocDeprecatedTag(node: JSDocDeprecatedTag, tagName: Identifier, comment?: string | NodeArray<JSDocComment>): JSDocDeprecatedTag;
3866
3896
  createJSDocOverrideTag(tagName: Identifier, comment?: string | NodeArray<JSDocComment>): JSDocOverrideTag;
3867
3897
  updateJSDocOverrideTag(node: JSDocOverrideTag, tagName: Identifier, comment?: string | NodeArray<JSDocComment>): JSDocOverrideTag;
3898
+ createJSDocThrowsTag(tagName: Identifier, typeExpression: JSDocTypeExpression | undefined, comment?: string | NodeArray<JSDocComment>): JSDocThrowsTag;
3899
+ updateJSDocThrowsTag(node: JSDocThrowsTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | undefined, comment?: string | NodeArray<JSDocComment> | undefined): JSDocThrowsTag;
3868
3900
  createJSDocText(text: string): JSDocText;
3869
3901
  updateJSDocText(node: JSDocText, text: string): JSDocText;
3870
3902
  createJSDocComment(comment?: string | NodeArray<JSDocComment> | undefined, tags?: readonly JSDocTag[] | undefined): JSDoc;
@@ -4435,6 +4467,7 @@ declare namespace ts {
4435
4467
  readonly includeInlayEnumMemberValueHints?: boolean;
4436
4468
  readonly allowRenameOfImportPath?: boolean;
4437
4469
  readonly autoImportFileExcludePatterns?: string[];
4470
+ readonly organizeImportsIgnoreCase?: "auto" | boolean;
4438
4471
  }
4439
4472
  /** Represents a bigint literal value without requiring bigint support */
4440
4473
  interface PseudoBigInt {
@@ -4825,6 +4858,9 @@ declare namespace ts {
4825
4858
  parent: ConstructorDeclaration;
4826
4859
  name: Identifier;
4827
4860
  };
4861
+ function emitModuleKindIsNonNodeESM(moduleKind: ModuleKind): boolean;
4862
+ function isJSDocOptionalParameter(node: ParameterDeclaration): boolean;
4863
+ function isOptionalDeclaration(declaration: Declaration): boolean;
4828
4864
  function createUnparsedSourceFile(text: string): UnparsedSource;
4829
4865
  function createUnparsedSourceFile(inputFile: InputFiles, type: "js" | "dts", stripInternal?: boolean): UnparsedSource;
4830
4866
  function createUnparsedSourceFile(text: string, mapPath: string | undefined, map: string | undefined): UnparsedSource;
@@ -5093,6 +5129,7 @@ declare namespace ts {
5093
5129
  function isJSDocProtectedTag(node: Node): node is JSDocProtectedTag;
5094
5130
  function isJSDocReadonlyTag(node: Node): node is JSDocReadonlyTag;
5095
5131
  function isJSDocOverrideTag(node: Node): node is JSDocOverrideTag;
5132
+ function isJSDocOverloadTag(node: Node): node is JSDocOverloadTag;
5096
5133
  function isJSDocDeprecatedTag(node: Node): node is JSDocDeprecatedTag;
5097
5134
  function isJSDocSeeTag(node: Node): node is JSDocSeeTag;
5098
5135
  function isJSDocEnumTag(node: Node): node is JSDocEnumTag;
@@ -5105,6 +5142,7 @@ declare namespace ts {
5105
5142
  function isJSDocUnknownTag(node: Node): node is JSDocUnknownTag;
5106
5143
  function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag;
5107
5144
  function isJSDocImplementsTag(node: Node): node is JSDocImplementsTag;
5145
+ function isJSDocThrowsTag(node: Node): node is JSDocThrowsTag;
5108
5146
  function setTextRange<T extends TextRange>(range: T, location: TextRange | undefined): T;
5109
5147
  function canHaveModifiers(node: Node): node is HasModifiers;
5110
5148
  function canHaveDecorators(node: Node): node is HasDecorators;
@@ -5226,7 +5264,7 @@ declare namespace ts {
5226
5264
  /**
5227
5265
  * Note that the case of the config path has not yet been normalized, as no files have been imported into the project yet
5228
5266
  */
5229
- extendedConfigPath?: string;
5267
+ extendedConfigPath?: string | string[];
5230
5268
  }
5231
5269
  interface ExtendedConfigCacheEntry {
5232
5270
  extendedResult: TsConfigSourceFile;
@@ -5252,8 +5290,11 @@ declare namespace ts {
5252
5290
  function createTypeReferenceDirectiveResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string, options?: CompilerOptions, packageJsonInfoCache?: PackageJsonInfoCache): TypeReferenceDirectiveResolutionCache;
5253
5291
  function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache, mode?: ResolutionMode): ResolvedModuleWithFailedLookupLocations | undefined;
5254
5292
  function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference, resolutionMode?: ResolutionMode): ResolvedModuleWithFailedLookupLocations;
5293
+ function bundlerModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
5255
5294
  function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
5256
5295
  function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
5296
+ function moduleResolutionSupportsResolvingTsExtensions(compilerOptions: CompilerOptions): boolean;
5297
+ function shouldAllowImportingTsExtension(compilerOptions: CompilerOptions, fromFileName?: string): boolean | "" | undefined;
5257
5298
  interface TypeReferenceDirectiveResolutionCache extends PerDirectoryResolutionCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>, NonRelativeNameResolutionCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>, PackageJsonInfoCache {
5258
5299
  }
5259
5300
  interface ModeAwareCache<T> {