typescript 4.7.4 → 4.8.4

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.
Files changed (39) hide show
  1. package/lib/cs/diagnosticMessages.generated.json +32 -3
  2. package/lib/de/diagnosticMessages.generated.json +32 -3
  3. package/lib/dynamicImportCompat.js +25 -0
  4. package/lib/es/diagnosticMessages.generated.json +32 -3
  5. package/lib/fr/diagnosticMessages.generated.json +32 -3
  6. package/lib/it/diagnosticMessages.generated.json +32 -3
  7. package/lib/ja/diagnosticMessages.generated.json +32 -3
  8. package/lib/ko/diagnosticMessages.generated.json +32 -3
  9. package/lib/lib.dom.d.ts +130 -185
  10. package/lib/lib.dom.iterable.d.ts +1 -11
  11. package/lib/lib.es2015.collection.d.ts +62 -1
  12. package/lib/lib.es2015.proxy.d.ts +91 -2
  13. package/lib/lib.es2017.intl.d.ts +16 -1
  14. package/lib/lib.es2020.intl.d.ts +30 -5
  15. package/lib/lib.es2021.intl.d.ts +11 -3
  16. package/lib/lib.es2022.d.ts +1 -0
  17. package/lib/lib.es2022.error.d.ts +2 -2
  18. package/lib/lib.es2022.sharedmemory.d.ts +27 -0
  19. package/lib/lib.es5.d.ts +13 -1
  20. package/lib/lib.esnext.intl.d.ts +5 -1
  21. package/lib/lib.webworker.d.ts +56 -29
  22. package/lib/lib.webworker.iterable.d.ts +1 -1
  23. package/lib/pl/diagnosticMessages.generated.json +32 -3
  24. package/lib/protocol.d.ts +2 -0
  25. package/lib/pt-br/diagnosticMessages.generated.json +32 -3
  26. package/lib/ru/diagnosticMessages.generated.json +32 -3
  27. package/lib/tr/diagnosticMessages.generated.json +32 -3
  28. package/lib/tsc.js +5391 -3311
  29. package/lib/tsserver.js +9490 -4964
  30. package/lib/tsserverlibrary.d.ts +508 -121
  31. package/lib/tsserverlibrary.js +9393 -4954
  32. package/lib/typescript.d.ts +497 -119
  33. package/lib/typescript.js +8908 -4779
  34. package/lib/typescriptServices.d.ts +497 -119
  35. package/lib/typescriptServices.js +8908 -4779
  36. package/lib/typingsInstaller.js +6839 -4668
  37. package/lib/zh-cn/diagnosticMessages.generated.json +32 -3
  38. package/lib/zh-tw/diagnosticMessages.generated.json +32 -3
  39. package/package.json +27 -22
@@ -14,7 +14,7 @@ and limitations under the License.
14
14
  ***************************************************************************** */
15
15
 
16
16
  declare namespace ts {
17
- const versionMajorMinor = "4.7";
17
+ const versionMajorMinor = "4.8";
18
18
  /** The version of the TypeScript compiler release */
19
19
  const version: string;
20
20
  /**
@@ -425,6 +425,7 @@ declare namespace ts {
425
425
  JSDocFunctionType = 317,
426
426
  JSDocVariadicType = 318,
427
427
  JSDocNamepathType = 319,
428
+ JSDoc = 320,
428
429
  /** @deprecated Use SyntaxKind.JSDoc */
429
430
  JSDocComment = 320,
430
431
  JSDocText = 321,
@@ -493,7 +494,6 @@ declare namespace ts {
493
494
  LastJSDocNode = 347,
494
495
  FirstJSDocTagNode = 327,
495
496
  LastJSDocTagNode = 347,
496
- JSDoc = 320
497
497
  }
498
498
  export type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ShebangTrivia | SyntaxKind.ConflictMarkerTrivia;
499
499
  export type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral;
@@ -554,13 +554,15 @@ declare namespace ts {
554
554
  Override = 16384,
555
555
  In = 32768,
556
556
  Out = 65536,
557
+ Decorator = 131072,
557
558
  HasComputedFlags = 536870912,
558
559
  AccessibilityModifier = 28,
559
560
  ParameterPropertyModifier = 16476,
560
561
  NonPublicAccessibilityModifier = 24,
561
562
  TypeScriptModifier = 116958,
562
563
  ExportDefault = 513,
563
- All = 125951
564
+ All = 257023,
565
+ Modifier = 125951
564
566
  }
565
567
  export enum JsxFlags {
566
568
  None = 0,
@@ -573,8 +575,6 @@ declare namespace ts {
573
575
  export interface Node extends ReadonlyTextRange {
574
576
  readonly kind: SyntaxKind;
575
577
  readonly flags: NodeFlags;
576
- readonly decorators?: NodeArray<Decorator>;
577
- readonly modifiers?: ModifiersArray;
578
578
  readonly parent: Node;
579
579
  }
580
580
  export interface JSDocContainer {
@@ -583,7 +583,9 @@ declare namespace ts {
583
583
  export type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType;
584
584
  export type HasTypeArguments = CallExpression | NewExpression | TaggedTemplateExpression | JsxOpeningElement | JsxSelfClosingElement;
585
585
  export type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute;
586
- export type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertySignature | PropertyDeclaration | PropertyAssignment | EnumMember;
586
+ export type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | EnumMember;
587
+ export type HasDecorators = ParameterDeclaration | PropertyDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ClassExpression | ClassDeclaration;
588
+ export type HasModifiers = TypeParameterDeclaration | ParameterDeclaration | ConstructorTypeNode | PropertySignature | PropertyDeclaration | MethodSignature | MethodDeclaration | ConstructorDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | IndexSignatureDeclaration | FunctionExpression | ArrowFunction | ClassExpression | VariableStatement | FunctionDeclaration | ClassDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | ExportAssignment | ExportDeclaration;
587
589
  export interface NodeArray<T extends Node> extends ReadonlyArray<T>, ReadonlyTextRange {
588
590
  readonly hasTrailingComma: boolean;
589
591
  }
@@ -632,6 +634,7 @@ declare namespace ts {
632
634
  /** @deprecated Use `ReadonlyKeyword` instead. */
633
635
  export type ReadonlyToken = ReadonlyKeyword;
634
636
  export type Modifier = AbstractKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | InKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | OutKeyword | OverrideKeyword | ReadonlyKeyword | StaticKeyword;
637
+ export type ModifierLike = Modifier | Decorator;
635
638
  export type AccessibilityModifier = PublicKeyword | PrivateKeyword | ProtectedKeyword;
636
639
  export type ParameterPropertyModifier = AccessibilityModifier | ReadonlyKeyword;
637
640
  export type ClassMemberModifier = AccessibilityModifier | ReadonlyKeyword | StaticKeyword;
@@ -691,6 +694,7 @@ declare namespace ts {
691
694
  export interface TypeParameterDeclaration extends NamedDeclaration {
692
695
  readonly kind: SyntaxKind.TypeParameter;
693
696
  readonly parent: DeclarationWithTypeParameterChildren | InferTypeNode;
697
+ readonly modifiers?: NodeArray<Modifier>;
694
698
  readonly name: Identifier;
695
699
  /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */
696
700
  readonly constraint?: TypeNode;
@@ -700,9 +704,9 @@ declare namespace ts {
700
704
  export interface SignatureDeclarationBase extends NamedDeclaration, JSDocContainer {
701
705
  readonly kind: SignatureDeclaration["kind"];
702
706
  readonly name?: PropertyName;
703
- readonly typeParameters?: NodeArray<TypeParameterDeclaration>;
707
+ readonly typeParameters?: NodeArray<TypeParameterDeclaration> | undefined;
704
708
  readonly parameters: NodeArray<ParameterDeclaration>;
705
- readonly type?: TypeNode;
709
+ readonly type?: TypeNode | undefined;
706
710
  }
707
711
  export type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction;
708
712
  export interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement {
@@ -728,6 +732,7 @@ declare namespace ts {
728
732
  export interface ParameterDeclaration extends NamedDeclaration, JSDocContainer {
729
733
  readonly kind: SyntaxKind.Parameter;
730
734
  readonly parent: SignatureDeclaration;
735
+ readonly modifiers?: NodeArray<ModifierLike>;
731
736
  readonly dotDotDotToken?: DotDotDotToken;
732
737
  readonly name: BindingName;
733
738
  readonly questionToken?: QuestionToken;
@@ -744,14 +749,15 @@ declare namespace ts {
744
749
  }
745
750
  export interface PropertySignature extends TypeElement, JSDocContainer {
746
751
  readonly kind: SyntaxKind.PropertySignature;
752
+ readonly modifiers?: NodeArray<Modifier>;
747
753
  readonly name: PropertyName;
748
754
  readonly questionToken?: QuestionToken;
749
755
  readonly type?: TypeNode;
750
- initializer?: Expression;
751
756
  }
752
757
  export interface PropertyDeclaration extends ClassElement, JSDocContainer {
753
758
  readonly kind: SyntaxKind.PropertyDeclaration;
754
759
  readonly parent: ClassLikeDeclaration;
760
+ readonly modifiers?: NodeArray<ModifierLike>;
755
761
  readonly name: PropertyName;
756
762
  readonly questionToken?: QuestionToken;
757
763
  readonly exclamationToken?: ExclamationToken;
@@ -768,16 +774,12 @@ declare namespace ts {
768
774
  readonly kind: SyntaxKind.PropertyAssignment;
769
775
  readonly parent: ObjectLiteralExpression;
770
776
  readonly name: PropertyName;
771
- readonly questionToken?: QuestionToken;
772
- readonly exclamationToken?: ExclamationToken;
773
777
  readonly initializer: Expression;
774
778
  }
775
779
  export interface ShorthandPropertyAssignment extends ObjectLiteralElement, JSDocContainer {
776
780
  readonly kind: SyntaxKind.ShorthandPropertyAssignment;
777
781
  readonly parent: ObjectLiteralExpression;
778
782
  readonly name: Identifier;
779
- readonly questionToken?: QuestionToken;
780
- readonly exclamationToken?: ExclamationToken;
781
783
  readonly equalsToken?: EqualsToken;
782
784
  readonly objectAssignmentInitializer?: Expression;
783
785
  }
@@ -812,34 +814,38 @@ declare namespace ts {
812
814
  */
813
815
  export interface FunctionLikeDeclarationBase extends SignatureDeclarationBase {
814
816
  _functionLikeDeclarationBrand: any;
815
- readonly asteriskToken?: AsteriskToken;
816
- readonly questionToken?: QuestionToken;
817
- readonly exclamationToken?: ExclamationToken;
818
- readonly body?: Block | Expression;
817
+ readonly asteriskToken?: AsteriskToken | undefined;
818
+ readonly questionToken?: QuestionToken | undefined;
819
+ readonly exclamationToken?: ExclamationToken | undefined;
820
+ readonly body?: Block | Expression | undefined;
819
821
  }
820
822
  export type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction;
821
823
  /** @deprecated Use SignatureDeclaration */
822
824
  export type FunctionLike = SignatureDeclaration;
823
825
  export interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement {
824
826
  readonly kind: SyntaxKind.FunctionDeclaration;
827
+ readonly modifiers?: NodeArray<Modifier>;
825
828
  readonly name?: Identifier;
826
829
  readonly body?: FunctionBody;
827
830
  }
828
831
  export interface MethodSignature extends SignatureDeclarationBase, TypeElement {
829
832
  readonly kind: SyntaxKind.MethodSignature;
830
833
  readonly parent: ObjectTypeDeclaration;
834
+ readonly modifiers?: NodeArray<Modifier>;
831
835
  readonly name: PropertyName;
832
836
  }
833
837
  export interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer {
834
838
  readonly kind: SyntaxKind.MethodDeclaration;
835
839
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression;
840
+ readonly modifiers?: NodeArray<ModifierLike> | undefined;
836
841
  readonly name: PropertyName;
837
- readonly body?: FunctionBody;
842
+ readonly body?: FunctionBody | undefined;
838
843
  }
839
844
  export interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer {
840
845
  readonly kind: SyntaxKind.Constructor;
841
846
  readonly parent: ClassLikeDeclaration;
842
- readonly body?: FunctionBody;
847
+ readonly modifiers?: NodeArray<Modifier> | undefined;
848
+ readonly body?: FunctionBody | undefined;
843
849
  }
844
850
  /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */
845
851
  export interface SemicolonClassElement extends ClassElement {
@@ -849,12 +855,14 @@ declare namespace ts {
849
855
  export interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer {
850
856
  readonly kind: SyntaxKind.GetAccessor;
851
857
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;
858
+ readonly modifiers?: NodeArray<ModifierLike>;
852
859
  readonly name: PropertyName;
853
860
  readonly body?: FunctionBody;
854
861
  }
855
862
  export interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer {
856
863
  readonly kind: SyntaxKind.SetAccessor;
857
864
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;
865
+ readonly modifiers?: NodeArray<ModifierLike>;
858
866
  readonly name: PropertyName;
859
867
  readonly body?: FunctionBody;
860
868
  }
@@ -862,6 +870,7 @@ declare namespace ts {
862
870
  export interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement {
863
871
  readonly kind: SyntaxKind.IndexSignature;
864
872
  readonly parent: ObjectTypeDeclaration;
873
+ readonly modifiers?: NodeArray<Modifier>;
865
874
  readonly type: TypeNode;
866
875
  }
867
876
  export interface ClassStaticBlockDeclaration extends ClassElement, JSDocContainer {
@@ -901,6 +910,7 @@ declare namespace ts {
901
910
  }
902
911
  export interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase {
903
912
  readonly kind: SyntaxKind.ConstructorType;
913
+ readonly modifiers?: NodeArray<Modifier>;
904
914
  }
905
915
  export interface NodeWithTypeArguments extends TypeNode {
906
916
  readonly typeArguments?: NodeArray<TypeNode>;
@@ -1157,11 +1167,13 @@ declare namespace ts {
1157
1167
  export type ConciseBody = FunctionBody | Expression;
1158
1168
  export interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer {
1159
1169
  readonly kind: SyntaxKind.FunctionExpression;
1170
+ readonly modifiers?: NodeArray<Modifier>;
1160
1171
  readonly name?: Identifier;
1161
1172
  readonly body: FunctionBody;
1162
1173
  }
1163
1174
  export interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer {
1164
1175
  readonly kind: SyntaxKind.ArrowFunction;
1176
+ readonly modifiers?: NodeArray<Modifier>;
1165
1177
  readonly equalsGreaterThanToken: EqualsGreaterThanToken;
1166
1178
  readonly body: ConciseBody;
1167
1179
  readonly name: never;
@@ -1388,8 +1400,9 @@ declare namespace ts {
1388
1400
  readonly kind: SyntaxKind.JsxAttribute;
1389
1401
  readonly parent: JsxAttributes;
1390
1402
  readonly name: Identifier;
1391
- readonly initializer?: StringLiteral | JsxExpression;
1403
+ readonly initializer?: JsxAttributeValue;
1392
1404
  }
1405
+ export type JsxAttributeValue = StringLiteral | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;
1393
1406
  export interface JsxSpreadAttribute extends ObjectLiteralElement {
1394
1407
  readonly kind: SyntaxKind.JsxSpreadAttribute;
1395
1408
  readonly parent: JsxAttributes;
@@ -1442,6 +1455,7 @@ declare namespace ts {
1442
1455
  }
1443
1456
  export interface VariableStatement extends Statement {
1444
1457
  readonly kind: SyntaxKind.VariableStatement;
1458
+ readonly modifiers?: NodeArray<Modifier>;
1445
1459
  readonly declarationList: VariableDeclarationList;
1446
1460
  }
1447
1461
  export interface ExpressionStatement extends Statement {
@@ -1558,11 +1572,13 @@ declare namespace ts {
1558
1572
  }
1559
1573
  export interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement {
1560
1574
  readonly kind: SyntaxKind.ClassDeclaration;
1575
+ readonly modifiers?: NodeArray<ModifierLike>;
1561
1576
  /** May be undefined in `export default class { ... }`. */
1562
1577
  readonly name?: Identifier;
1563
1578
  }
1564
1579
  export interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression {
1565
1580
  readonly kind: SyntaxKind.ClassExpression;
1581
+ readonly modifiers?: NodeArray<ModifierLike>;
1566
1582
  }
1567
1583
  export type ClassLikeDeclaration = ClassDeclaration | ClassExpression;
1568
1584
  export interface ClassElement extends NamedDeclaration {
@@ -1572,10 +1588,11 @@ declare namespace ts {
1572
1588
  export interface TypeElement extends NamedDeclaration {
1573
1589
  _typeElementBrand: any;
1574
1590
  readonly name?: PropertyName;
1575
- readonly questionToken?: QuestionToken;
1591
+ readonly questionToken?: QuestionToken | undefined;
1576
1592
  }
1577
1593
  export interface InterfaceDeclaration extends DeclarationStatement, JSDocContainer {
1578
1594
  readonly kind: SyntaxKind.InterfaceDeclaration;
1595
+ readonly modifiers?: NodeArray<Modifier>;
1579
1596
  readonly name: Identifier;
1580
1597
  readonly typeParameters?: NodeArray<TypeParameterDeclaration>;
1581
1598
  readonly heritageClauses?: NodeArray<HeritageClause>;
@@ -1589,6 +1606,7 @@ declare namespace ts {
1589
1606
  }
1590
1607
  export interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer {
1591
1608
  readonly kind: SyntaxKind.TypeAliasDeclaration;
1609
+ readonly modifiers?: NodeArray<Modifier>;
1592
1610
  readonly name: Identifier;
1593
1611
  readonly typeParameters?: NodeArray<TypeParameterDeclaration>;
1594
1612
  readonly type: TypeNode;
@@ -1601,6 +1619,7 @@ declare namespace ts {
1601
1619
  }
1602
1620
  export interface EnumDeclaration extends DeclarationStatement, JSDocContainer {
1603
1621
  readonly kind: SyntaxKind.EnumDeclaration;
1622
+ readonly modifiers?: NodeArray<Modifier>;
1604
1623
  readonly name: Identifier;
1605
1624
  readonly members: NodeArray<EnumMember>;
1606
1625
  }
@@ -1609,6 +1628,7 @@ declare namespace ts {
1609
1628
  export interface ModuleDeclaration extends DeclarationStatement, JSDocContainer {
1610
1629
  readonly kind: SyntaxKind.ModuleDeclaration;
1611
1630
  readonly parent: ModuleBody | SourceFile;
1631
+ readonly modifiers?: NodeArray<Modifier>;
1612
1632
  readonly name: ModuleName;
1613
1633
  readonly body?: ModuleBody | JSDocNamespaceDeclaration;
1614
1634
  }
@@ -1636,6 +1656,7 @@ declare namespace ts {
1636
1656
  export interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer {
1637
1657
  readonly kind: SyntaxKind.ImportEqualsDeclaration;
1638
1658
  readonly parent: SourceFile | ModuleBlock;
1659
+ readonly modifiers?: NodeArray<Modifier>;
1639
1660
  readonly name: Identifier;
1640
1661
  readonly isTypeOnly: boolean;
1641
1662
  readonly moduleReference: ModuleReference;
@@ -1648,6 +1669,7 @@ declare namespace ts {
1648
1669
  export interface ImportDeclaration extends Statement {
1649
1670
  readonly kind: SyntaxKind.ImportDeclaration;
1650
1671
  readonly parent: SourceFile | ModuleBlock;
1672
+ readonly modifiers?: NodeArray<Modifier>;
1651
1673
  readonly importClause?: ImportClause;
1652
1674
  /** If this is not a StringLiteral it will be a grammar error. */
1653
1675
  readonly moduleSpecifier: Expression;
@@ -1692,6 +1714,7 @@ declare namespace ts {
1692
1714
  export interface ExportDeclaration extends DeclarationStatement, JSDocContainer {
1693
1715
  readonly kind: SyntaxKind.ExportDeclaration;
1694
1716
  readonly parent: SourceFile | ModuleBlock;
1717
+ readonly modifiers?: NodeArray<Modifier>;
1695
1718
  readonly isTypeOnly: boolean;
1696
1719
  /** Will not be assigned in the case of `export * from "foo";` */
1697
1720
  readonly exportClause?: NamedExportBindings;
@@ -1759,6 +1782,7 @@ declare namespace ts {
1759
1782
  export interface ExportAssignment extends DeclarationStatement, JSDocContainer {
1760
1783
  readonly kind: SyntaxKind.ExportAssignment;
1761
1784
  readonly parent: SourceFile;
1785
+ readonly modifiers?: NodeArray<Modifier>;
1762
1786
  readonly isExportEquals?: boolean;
1763
1787
  readonly expression: Expression;
1764
1788
  }
@@ -2072,6 +2096,12 @@ declare namespace ts {
2072
2096
  * It is _public_ so that (pre)transformers can set this field,
2073
2097
  * since it switches the builtin `node` module transform. Generally speaking, if unset,
2074
2098
  * the field is treated as though it is `ModuleKind.CommonJS`.
2099
+ *
2100
+ * Note that this field is only set by the module resolution process when
2101
+ * `moduleResolution` is `Node16` or `NodeNext`, which is implied by the `module` setting
2102
+ * of `Node16` or `NodeNext`, respectively, but may be overriden (eg, by a `moduleResolution`
2103
+ * of `node`). If so, this field will be unset and source files will be considered to be
2104
+ * CommonJS-output-format by the node module transformer and type checker, regardless of extension or context.
2075
2105
  */
2076
2106
  impliedNodeFormat?: ModuleKind.ESNext | ModuleKind.CommonJS;
2077
2107
  }
@@ -2396,6 +2426,7 @@ declare namespace ts {
2396
2426
  UseAliasDefinedOutsideCurrentScope = 16384,
2397
2427
  UseSingleQuotesForStringLiteralType = 268435456,
2398
2428
  NoTypeReduction = 536870912,
2429
+ OmitThisParameter = 33554432,
2399
2430
  AllowThisInObjectLiteral = 32768,
2400
2431
  AllowQualifiedNameInPlaceOfIdentifier = 65536,
2401
2432
  /** @deprecated AllowQualifedNameInPlaceOfIdentifier. Use AllowQualifiedNameInPlaceOfIdentifier instead. */
@@ -2426,6 +2457,7 @@ declare namespace ts {
2426
2457
  UseAliasDefinedOutsideCurrentScope = 16384,
2427
2458
  UseSingleQuotesForStringLiteralType = 268435456,
2428
2459
  NoTypeReduction = 536870912,
2460
+ OmitThisParameter = 33554432,
2429
2461
  AllowUniqueESSymbolType = 1048576,
2430
2462
  AddUndefined = 131072,
2431
2463
  WriteArrowStyleSignature = 262144,
@@ -2434,7 +2466,7 @@ declare namespace ts {
2434
2466
  InFirstTypeArgument = 4194304,
2435
2467
  InTypeAlias = 8388608,
2436
2468
  /** @deprecated */ WriteOwnNameForAnyLike = 0,
2437
- NodeBuilderFlagsMask = 814775659
2469
+ NodeBuilderFlagsMask = 848330091
2438
2470
  }
2439
2471
  export enum SymbolFormatFlags {
2440
2472
  None = 0,
@@ -3402,39 +3434,35 @@ declare namespace ts {
3402
3434
  createComputedPropertyName(expression: Expression): ComputedPropertyName;
3403
3435
  updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName;
3404
3436
  createTypeParameterDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration;
3405
- /** @deprecated */
3406
- createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration;
3407
3437
  updateTypeParameterDeclaration(node: TypeParameterDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;
3408
- /** @deprecated */
3409
- updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;
3410
- createParameterDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration;
3411
- updateParameterDeclaration(node: ParameterDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration;
3438
+ createParameterDeclaration(modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration;
3439
+ updateParameterDeclaration(node: ParameterDeclaration, modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration;
3412
3440
  createDecorator(expression: Expression): Decorator;
3413
3441
  updateDecorator(node: Decorator, expression: Expression): Decorator;
3414
3442
  createPropertySignature(modifiers: readonly Modifier[] | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined): PropertySignature;
3415
3443
  updatePropertySignature(node: PropertySignature, modifiers: readonly Modifier[] | undefined, name: PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined): PropertySignature;
3416
- createPropertyDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
3417
- updatePropertyDeclaration(node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
3444
+ createPropertyDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
3445
+ updatePropertyDeclaration(node: PropertyDeclaration, modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
3418
3446
  createMethodSignature(modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): MethodSignature;
3419
3447
  updateMethodSignature(node: MethodSignature, modifiers: readonly Modifier[] | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined): MethodSignature;
3420
- createMethodDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;
3421
- updateMethodDeclaration(node: MethodDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;
3422
- createConstructorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
3423
- updateConstructorDeclaration(node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
3424
- createGetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
3425
- updateGetAccessorDeclaration(node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
3426
- createSetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
3427
- updateSetAccessorDeclaration(node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
3448
+ createMethodDeclaration(modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;
3449
+ updateMethodDeclaration(node: MethodDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;
3450
+ createConstructorDeclaration(modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
3451
+ updateConstructorDeclaration(node: ConstructorDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
3452
+ createGetAccessorDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
3453
+ updateGetAccessorDeclaration(node: GetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
3454
+ createSetAccessorDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
3455
+ updateSetAccessorDeclaration(node: SetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
3428
3456
  createCallSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): CallSignatureDeclaration;
3429
3457
  updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined): CallSignatureDeclaration;
3430
3458
  createConstructSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): ConstructSignatureDeclaration;
3431
3459
  updateConstructSignature(node: ConstructSignatureDeclaration, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined): ConstructSignatureDeclaration;
3432
- createIndexSignature(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
3433
- updateIndexSignature(node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
3460
+ createIndexSignature(modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
3461
+ updateIndexSignature(node: IndexSignatureDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
3434
3462
  createTemplateLiteralTypeSpan(type: TypeNode, literal: TemplateMiddle | TemplateTail): TemplateLiteralTypeSpan;
3435
3463
  updateTemplateLiteralTypeSpan(node: TemplateLiteralTypeSpan, type: TypeNode, literal: TemplateMiddle | TemplateTail): TemplateLiteralTypeSpan;
3436
- createClassStaticBlockDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration;
3437
- updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration;
3464
+ createClassStaticBlockDeclaration(body: Block): ClassStaticBlockDeclaration;
3465
+ updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, body: Block): ClassStaticBlockDeclaration;
3438
3466
  createKeywordTypeNode<TKind extends KeywordTypeSyntaxKind>(kind: TKind): KeywordTypeNode<TKind>;
3439
3467
  createTypePredicateNode(assertsModifier: AssertsKeyword | undefined, parameterName: Identifier | ThisTypeNode | string, type: TypeNode | undefined): TypePredicateNode;
3440
3468
  updateTypePredicateNode(node: TypePredicateNode, assertsModifier: AssertsKeyword | undefined, parameterName: Identifier | ThisTypeNode, type: TypeNode | undefined): TypePredicateNode;
@@ -3443,11 +3471,7 @@ declare namespace ts {
3443
3471
  createFunctionTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): FunctionTypeNode;
3444
3472
  updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): FunctionTypeNode;
3445
3473
  createConstructorTypeNode(modifiers: readonly Modifier[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode;
3446
- /** @deprecated */
3447
- createConstructorTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode;
3448
3474
  updateConstructorTypeNode(node: ConstructorTypeNode, modifiers: readonly Modifier[] | undefined, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): ConstructorTypeNode;
3449
- /** @deprecated */
3450
- updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): ConstructorTypeNode;
3451
3475
  createTypeQueryNode(exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode;
3452
3476
  updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode;
3453
3477
  createTypeLiteralNode(members: readonly TypeElement[] | undefined): TypeLiteralNode;
@@ -3470,9 +3494,7 @@ declare namespace ts {
3470
3494
  updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode;
3471
3495
  createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode;
3472
3496
  updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode;
3473
- createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
3474
3497
  createImportTypeNode(argument: TypeNode, assertions?: ImportTypeAssertionContainer, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
3475
- updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode;
3476
3498
  updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, assertions: ImportTypeAssertionContainer | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode;
3477
3499
  createParenthesizedType(type: TypeNode): ParenthesizedTypeNode;
3478
3500
  updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode;
@@ -3552,8 +3574,8 @@ declare namespace ts {
3552
3574
  updateYieldExpression(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression | undefined): YieldExpression;
3553
3575
  createSpreadElement(expression: Expression): SpreadElement;
3554
3576
  updateSpreadElement(node: SpreadElement, expression: Expression): SpreadElement;
3555
- createClassExpression(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
3556
- updateClassExpression(node: ClassExpression, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
3577
+ createClassExpression(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
3578
+ updateClassExpression(node: ClassExpression, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
3557
3579
  createOmittedExpression(): OmittedExpression;
3558
3580
  createExpressionWithTypeArguments(expression: Expression, typeArguments: readonly TypeNode[] | undefined): ExpressionWithTypeArguments;
3559
3581
  updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, expression: Expression, typeArguments: readonly TypeNode[] | undefined): ExpressionWithTypeArguments;
@@ -3608,28 +3630,28 @@ declare namespace ts {
3608
3630
  updateVariableDeclaration(node: VariableDeclaration, name: BindingName, exclamationToken: ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration;
3609
3631
  createVariableDeclarationList(declarations: readonly VariableDeclaration[], flags?: NodeFlags): VariableDeclarationList;
3610
3632
  updateVariableDeclarationList(node: VariableDeclarationList, declarations: readonly VariableDeclaration[]): VariableDeclarationList;
3611
- createFunctionDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;
3612
- updateFunctionDeclaration(node: FunctionDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;
3613
- createClassDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
3614
- updateClassDeclaration(node: ClassDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
3615
- createInterfaceDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
3616
- updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
3617
- createTypeAliasDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
3618
- updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
3619
- createEnumDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
3620
- updateEnumDeclaration(node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
3621
- createModuleDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration;
3622
- updateModuleDeclaration(node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
3633
+ createFunctionDeclaration(modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;
3634
+ updateFunctionDeclaration(node: FunctionDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;
3635
+ createClassDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
3636
+ updateClassDeclaration(node: ClassDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
3637
+ createInterfaceDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
3638
+ updateInterfaceDeclaration(node: InterfaceDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
3639
+ createTypeAliasDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
3640
+ updateTypeAliasDeclaration(node: TypeAliasDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
3641
+ createEnumDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
3642
+ updateEnumDeclaration(node: EnumDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
3643
+ createModuleDeclaration(modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration;
3644
+ updateModuleDeclaration(node: ModuleDeclaration, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
3623
3645
  createModuleBlock(statements: readonly Statement[]): ModuleBlock;
3624
3646
  updateModuleBlock(node: ModuleBlock, statements: readonly Statement[]): ModuleBlock;
3625
3647
  createCaseBlock(clauses: readonly CaseOrDefaultClause[]): CaseBlock;
3626
3648
  updateCaseBlock(node: CaseBlock, clauses: readonly CaseOrDefaultClause[]): CaseBlock;
3627
3649
  createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration;
3628
3650
  updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, name: Identifier): NamespaceExportDeclaration;
3629
- createImportEqualsDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
3630
- updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
3631
- createImportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration;
3632
- updateImportDeclaration(node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
3651
+ createImportEqualsDeclaration(modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
3652
+ updateImportEqualsDeclaration(node: ImportEqualsDeclaration, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
3653
+ createImportDeclaration(modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration;
3654
+ updateImportDeclaration(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
3633
3655
  createImportClause(isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause;
3634
3656
  updateImportClause(node: ImportClause, isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause;
3635
3657
  createAssertClause(elements: NodeArray<AssertEntry>, multiLine?: boolean): AssertClause;
@@ -3646,10 +3668,10 @@ declare namespace ts {
3646
3668
  updateNamedImports(node: NamedImports, elements: readonly ImportSpecifier[]): NamedImports;
3647
3669
  createImportSpecifier(isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier;
3648
3670
  updateImportSpecifier(node: ImportSpecifier, isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier;
3649
- createExportAssignment(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
3650
- updateExportAssignment(node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
3651
- createExportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration;
3652
- updateExportDeclaration(node: ExportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, assertClause: AssertClause | undefined): ExportDeclaration;
3671
+ createExportAssignment(modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
3672
+ updateExportAssignment(node: ExportAssignment, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
3673
+ createExportDeclaration(modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration;
3674
+ updateExportDeclaration(node: ExportDeclaration, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, assertClause: AssertClause | undefined): ExportDeclaration;
3653
3675
  createNamedExports(elements: readonly ExportSpecifier[]): NamedExports;
3654
3676
  updateNamedExports(node: NamedExports, elements: readonly ExportSpecifier[]): NamedExports;
3655
3677
  createExportSpecifier(isTypeOnly: boolean, propertyName: string | Identifier | undefined, name: string | Identifier): ExportSpecifier;
@@ -3746,8 +3768,8 @@ declare namespace ts {
3746
3768
  createJsxOpeningFragment(): JsxOpeningFragment;
3747
3769
  createJsxJsxClosingFragment(): JsxClosingFragment;
3748
3770
  updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment): JsxFragment;
3749
- createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression | undefined): JsxAttribute;
3750
- updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined): JsxAttribute;
3771
+ createJsxAttribute(name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute;
3772
+ updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute;
3751
3773
  createJsxAttributes(properties: readonly JsxAttributeLike[]): JsxAttributes;
3752
3774
  updateJsxAttributes(node: JsxAttributes, properties: readonly JsxAttributeLike[]): JsxAttributes;
3753
3775
  createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute;
@@ -4055,7 +4077,7 @@ declare namespace ts {
4055
4077
  NoSpaceIfEmpty = 524288,
4056
4078
  SingleElement = 1048576,
4057
4079
  SpaceAfterList = 2097152,
4058
- Modifiers = 262656,
4080
+ Modifiers = 2359808,
4059
4081
  HeritageClauses = 512,
4060
4082
  SingleLineTypeLiteralMembers = 768,
4061
4083
  MultiLineTypeLiteralMembers = 32897,
@@ -4119,9 +4141,12 @@ declare namespace ts {
4119
4141
  readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
4120
4142
  readonly includeInlayFunctionParameterTypeHints?: boolean;
4121
4143
  readonly includeInlayVariableTypeHints?: boolean;
4144
+ readonly includeInlayVariableTypeHintsWhenTypeMatchesName?: boolean;
4122
4145
  readonly includeInlayPropertyDeclarationTypeHints?: boolean;
4123
4146
  readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
4124
4147
  readonly includeInlayEnumMemberValueHints?: boolean;
4148
+ readonly allowRenameOfImportPath?: boolean;
4149
+ readonly autoImportFileExcludePatterns?: string[];
4125
4150
  }
4126
4151
  /** Represents a bigint literal value without requiring bigint support */
4127
4152
  export interface PseudoBigInt {
@@ -4138,7 +4163,7 @@ declare namespace ts {
4138
4163
  Changed = 1,
4139
4164
  Deleted = 2
4140
4165
  }
4141
- export type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind) => void;
4166
+ export type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind, modifiedTime?: Date) => void;
4142
4167
  export type DirectoryWatcherCallback = (fileName: string) => void;
4143
4168
  export interface System {
4144
4169
  args: string[];
@@ -4349,6 +4374,8 @@ declare namespace ts {
4349
4374
  function symbolName(symbol: Symbol): string;
4350
4375
  function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | PrivateIdentifier | undefined;
4351
4376
  function getNameOfDeclaration(declaration: Declaration | Expression | undefined): DeclarationName | undefined;
4377
+ function getDecorators(node: HasDecorators): readonly Decorator[] | undefined;
4378
+ function getModifiers(node: HasModifiers): readonly Modifier[] | undefined;
4352
4379
  /**
4353
4380
  * Gets the JSDoc parameter tags for the node if present.
4354
4381
  *
@@ -4437,6 +4464,12 @@ declare namespace ts {
4437
4464
  /**
4438
4465
  * Gets the effective type parameters. If the node was parsed in a
4439
4466
  * JavaScript file, gets the type parameters from the `@template` tag from JSDoc.
4467
+ *
4468
+ * This does *not* return type parameters from a jsdoc reference to a generic type, eg
4469
+ *
4470
+ * type Id = <T>(x: T) => T
4471
+ * /** @type {Id} /
4472
+ * function id(x) { return x }
4440
4473
  */
4441
4474
  function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters): readonly TypeParameterDeclaration[];
4442
4475
  function getEffectiveConstraintOfTypeParameter(node: TypeParameterDeclaration): TypeNode | undefined;
@@ -4482,6 +4515,7 @@ declare namespace ts {
4482
4515
  function isClassElement(node: Node): node is ClassElement;
4483
4516
  function isClassLike(node: Node): node is ClassLikeDeclaration;
4484
4517
  function isAccessor(node: Node): node is AccessorDeclaration;
4518
+ function isModifierLike(node: Node): node is ModifierLike;
4485
4519
  function isTypeElement(node: Node): node is TypeElement;
4486
4520
  function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement;
4487
4521
  function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike;
@@ -4510,6 +4544,8 @@ declare namespace ts {
4510
4544
  function isObjectLiteralElement(node: Node): node is ObjectLiteralElement;
4511
4545
  function isStringLiteralLike(node: Node): node is StringLiteralLike;
4512
4546
  function isJSDocLinkLike(node: Node): node is JSDocLink | JSDocLinkCode | JSDocLinkPlain;
4547
+ function hasRestParameter(s: SignatureDeclaration | JSDocSignature): boolean;
4548
+ function isRestParameter(node: ParameterDeclaration | JSDocParameterTag): boolean;
4513
4549
  }
4514
4550
  declare namespace ts {
4515
4551
  const factory: NodeFactory;
@@ -4798,6 +4834,8 @@ declare namespace ts {
4798
4834
  }
4799
4835
  declare namespace ts {
4800
4836
  function setTextRange<T extends TextRange>(range: T, location: TextRange | undefined): T;
4837
+ function canHaveModifiers(node: Node): node is HasModifiers;
4838
+ function canHaveDecorators(node: Node): node is HasDecorators;
4801
4839
  }
4802
4840
  declare namespace ts {
4803
4841
  /**
@@ -5383,6 +5421,10 @@ declare namespace ts {
5383
5421
  resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile?: SourceFile): (ResolvedModule | undefined)[];
5384
5422
  /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */
5385
5423
  resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[] | readonly FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: SourceFile["impliedNodeFormat"] | undefined): (ResolvedTypeReferenceDirective | undefined)[];
5424
+ /**
5425
+ * Returns the module resolution cache used by a provided `resolveModuleNames` implementation so that any non-name module resolution operations (eg, package.json lookup) can reuse it
5426
+ */
5427
+ getModuleResolutionCache?(): ModuleResolutionCache | undefined;
5386
5428
  }
5387
5429
  interface WatchCompilerHost<T extends BuilderProgram> extends ProgramHost<T>, WatchHost {
5388
5430
  /** Instead of using output d.ts file from project reference, use its source file */
@@ -5897,6 +5939,8 @@ declare namespace ts {
5897
5939
  getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined;
5898
5940
  getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined;
5899
5941
  getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined;
5942
+ getRenameInfo(fileName: string, position: number, preferences: UserPreferences): RenameInfo;
5943
+ /** @deprecated Use the signature with `UserPreferences` instead. */
5900
5944
  getRenameInfo(fileName: string, position: number, options?: RenameInfoOptions): RenameInfo;
5901
5945
  findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): readonly RenameLocation[] | undefined;
5902
5946
  getSmartSelectionRange(fileName: string, position: number): SelectionRange;
@@ -6276,6 +6320,7 @@ declare namespace ts {
6276
6320
  Insert = "insert",
6277
6321
  Remove = "remove"
6278
6322
  }
6323
+ /** @deprecated - consider using EditorSettings instead */
6279
6324
  interface EditorOptions {
6280
6325
  BaseIndentSize?: number;
6281
6326
  IndentSize: number;
@@ -6293,6 +6338,7 @@ declare namespace ts {
6293
6338
  indentStyle?: IndentStyle;
6294
6339
  trimTrailingWhitespace?: boolean;
6295
6340
  }
6341
+ /** @deprecated - consider using FormatCodeSettings instead */
6296
6342
  interface FormatCodeOptions extends EditorOptions {
6297
6343
  InsertSpaceAfterCommaDelimiter: boolean;
6298
6344
  InsertSpaceAfterSemicolonInForStatements: boolean;
@@ -6418,6 +6464,9 @@ declare namespace ts {
6418
6464
  canRename: false;
6419
6465
  localizedErrorMessage: string;
6420
6466
  }
6467
+ /**
6468
+ * @deprecated Use `UserPreferences` instead.
6469
+ */
6421
6470
  interface RenameInfoOptions {
6422
6471
  readonly allowRenameOfImportPath?: boolean;
6423
6472
  }
@@ -6855,8 +6904,8 @@ declare namespace ts {
6855
6904
  * @param version Current version of the file. Only used if the file was not found
6856
6905
  * in the registry and a new one was created.
6857
6906
  */
6858
- acquireDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile;
6859
- acquireDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile;
6907
+ acquireDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile;
6908
+ acquireDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile;
6860
6909
  /**
6861
6910
  * Request an updated version of an already existing SourceFile with a given fileName
6862
6911
  * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile
@@ -6872,8 +6921,8 @@ declare namespace ts {
6872
6921
  * @param scriptSnapshot Text of the file.
6873
6922
  * @param version Current version of the file.
6874
6923
  */
6875
- updateDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile;
6876
- updateDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile;
6924
+ updateDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile;
6925
+ updateDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile;
6877
6926
  getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey;
6878
6927
  /**
6879
6928
  * Informs the DocumentRegistry that a file is not needed any longer.
@@ -6883,9 +6932,10 @@ declare namespace ts {
6883
6932
  *
6884
6933
  * @param fileName The name of the file to be released
6885
6934
  * @param compilationSettings The compilation settings used to acquire the file
6935
+ * @param scriptKind The script kind of the file to be released
6886
6936
  */
6887
- /**@deprecated pass scriptKind for correctness */
6888
- releaseDocument(fileName: string, compilationSettings: CompilerOptions): void;
6937
+ /**@deprecated pass scriptKind and impliedNodeFormat for correctness */
6938
+ releaseDocument(fileName: string, compilationSettings: CompilerOptions, scriptKind?: ScriptKind): void;
6889
6939
  /**
6890
6940
  * Informs the DocumentRegistry that a file is not needed any longer.
6891
6941
  *
@@ -6895,12 +6945,13 @@ declare namespace ts {
6895
6945
  * @param fileName The name of the file to be released
6896
6946
  * @param compilationSettings The compilation settings used to acquire the file
6897
6947
  * @param scriptKind The script kind of the file to be released
6948
+ * @param impliedNodeFormat The implied source file format of the file to be released
6898
6949
  */
6899
- releaseDocument(fileName: string, compilationSettings: CompilerOptions, scriptKind: ScriptKind): void;
6950
+ releaseDocument(fileName: string, compilationSettings: CompilerOptions, scriptKind: ScriptKind, impliedNodeFormat: SourceFile["impliedNodeFormat"]): void;
6900
6951
  /**
6901
- * @deprecated pass scriptKind for correctness */
6902
- releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void;
6903
- releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey, scriptKind: ScriptKind): void;
6952
+ * @deprecated pass scriptKind for and impliedNodeFormat correctness */
6953
+ releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey, scriptKind?: ScriptKind): void;
6954
+ releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey, scriptKind: ScriptKind, impliedNodeFormat: SourceFile["impliedNodeFormat"]): void;
6904
6955
  reportStats(): string;
6905
6956
  }
6906
6957
  type DocumentRegistryBucketKey = string & {
@@ -6960,7 +7011,7 @@ declare namespace ts.server {
6960
7011
  compressionKind: string;
6961
7012
  data: any;
6962
7013
  }
6963
- type RequireResult = {
7014
+ type ModuleImportResult = {
6964
7015
  module: {};
6965
7016
  error: undefined;
6966
7017
  } | {
@@ -6970,6 +7021,8 @@ declare namespace ts.server {
6970
7021
  message?: string;
6971
7022
  };
6972
7023
  };
7024
+ /** @deprecated Use {@link ModuleImportResult} instead. */
7025
+ type RequireResult = ModuleImportResult;
6973
7026
  interface ServerHost extends System {
6974
7027
  watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: WatchOptions): FileWatcher;
6975
7028
  watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: WatchOptions): FileWatcher;
@@ -6979,7 +7032,7 @@ declare namespace ts.server {
6979
7032
  clearImmediate(timeoutId: any): void;
6980
7033
  gc?(): void;
6981
7034
  trace?(s: string): void;
6982
- require?(initialPath: string, moduleName: string): RequireResult;
7035
+ require?(initialPath: string, moduleName: string): ModuleImportResult;
6983
7036
  }
6984
7037
  }
6985
7038
  declare namespace ts.server {
@@ -9734,9 +9787,11 @@ declare namespace ts.server.protocol {
9734
9787
  readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
9735
9788
  readonly includeInlayFunctionParameterTypeHints?: boolean;
9736
9789
  readonly includeInlayVariableTypeHints?: boolean;
9790
+ readonly includeInlayVariableTypeHintsWhenTypeMatchesName?: boolean;
9737
9791
  readonly includeInlayPropertyDeclarationTypeHints?: boolean;
9738
9792
  readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
9739
9793
  readonly includeInlayEnumMemberValueHints?: boolean;
9794
+ readonly autoImportFileExcludePatterns?: string[];
9740
9795
  }
9741
9796
  interface CompilerOptions {
9742
9797
  allowJs?: boolean;
@@ -10428,6 +10483,8 @@ declare namespace ts.server {
10428
10483
  /** Tracks projects that we have already sent telemetry for. */
10429
10484
  private readonly seenProjects;
10430
10485
  private performanceEventHandler?;
10486
+ private pendingPluginEnablements?;
10487
+ private currentPluginEnablementPromise?;
10431
10488
  constructor(opts: ProjectServiceOptions);
10432
10489
  toPath(fileName: string): Path;
10433
10490
  private loadTypesMap;
@@ -10587,6 +10644,9 @@ declare namespace ts.server {
10587
10644
  applySafeList(proj: protocol.ExternalProject): NormalizedPath[];
10588
10645
  openExternalProject(proj: protocol.ExternalProject): void;
10589
10646
  hasDeferredExtension(): boolean;
10647
+ private enableRequestedPluginsAsync;
10648
+ private enableRequestedPluginsWorker;
10649
+ private enableRequestedPluginsForProjectAsync;
10590
10650
  configurePlugin(args: protocol.ConfigurePluginRequestArguments): void;
10591
10651
  }
10592
10652
  export {};
@@ -10867,33 +10927,69 @@ declare namespace ts {
10867
10927
  (node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;
10868
10928
  };
10869
10929
  /** @deprecated Use `factory.createParameterDeclaration` or the factory supplied by your transformation context instead. */
10870
- const createParameter: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined) => ParameterDeclaration;
10930
+ const createParameter: {
10931
+ (modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined): ParameterDeclaration;
10932
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined): ParameterDeclaration;
10933
+ };
10871
10934
  /** @deprecated Use `factory.updateParameterDeclaration` or the factory supplied by your transformation context instead. */
10872
- const updateParameter: (node: ParameterDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined) => ParameterDeclaration;
10935
+ const updateParameter: {
10936
+ (node: ParameterDeclaration, modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration;
10937
+ (node: ParameterDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration;
10938
+ };
10873
10939
  /** @deprecated Use `factory.createDecorator` or the factory supplied by your transformation context instead. */
10874
10940
  const createDecorator: (expression: Expression) => Decorator;
10875
10941
  /** @deprecated Use `factory.updateDecorator` or the factory supplied by your transformation context instead. */
10876
10942
  const updateDecorator: (node: Decorator, expression: Expression) => Decorator;
10877
10943
  /** @deprecated Use `factory.createPropertyDeclaration` or the factory supplied by your transformation context instead. */
10878
- const createProperty: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined) => PropertyDeclaration;
10944
+ const createProperty: {
10945
+ (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
10946
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
10947
+ };
10879
10948
  /** @deprecated Use `factory.updatePropertyDeclaration` or the factory supplied by your transformation context instead. */
10880
- const updateProperty: (node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined) => PropertyDeclaration;
10949
+ const updateProperty: {
10950
+ (node: PropertyDeclaration, modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
10951
+ (node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
10952
+ };
10881
10953
  /** @deprecated Use `factory.createMethodDeclaration` or the factory supplied by your transformation context instead. */
10882
- const createMethod: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => MethodDeclaration;
10954
+ const createMethod: {
10955
+ (modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;
10956
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;
10957
+ };
10883
10958
  /** @deprecated Use `factory.updateMethodDeclaration` or the factory supplied by your transformation context instead. */
10884
- const updateMethod: (node: MethodDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => MethodDeclaration;
10959
+ const updateMethod: {
10960
+ (node: MethodDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;
10961
+ (node: MethodDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;
10962
+ };
10885
10963
  /** @deprecated Use `factory.createConstructorDeclaration` or the factory supplied by your transformation context instead. */
10886
- const createConstructor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined) => ConstructorDeclaration;
10964
+ const createConstructor: {
10965
+ (modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
10966
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
10967
+ };
10887
10968
  /** @deprecated Use `factory.updateConstructorDeclaration` or the factory supplied by your transformation context instead. */
10888
- const updateConstructor: (node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined) => ConstructorDeclaration;
10969
+ const updateConstructor: {
10970
+ (node: ConstructorDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
10971
+ (node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
10972
+ };
10889
10973
  /** @deprecated Use `factory.createGetAccessorDeclaration` or the factory supplied by your transformation context instead. */
10890
- const createGetAccessor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => GetAccessorDeclaration;
10974
+ const createGetAccessor: {
10975
+ (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
10976
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
10977
+ };
10891
10978
  /** @deprecated Use `factory.updateGetAccessorDeclaration` or the factory supplied by your transformation context instead. */
10892
- const updateGetAccessor: (node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => GetAccessorDeclaration;
10979
+ const updateGetAccessor: {
10980
+ (node: GetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
10981
+ (node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
10982
+ };
10893
10983
  /** @deprecated Use `factory.createSetAccessorDeclaration` or the factory supplied by your transformation context instead. */
10894
- const createSetAccessor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined) => SetAccessorDeclaration;
10984
+ const createSetAccessor: {
10985
+ (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
10986
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
10987
+ };
10895
10988
  /** @deprecated Use `factory.updateSetAccessorDeclaration` or the factory supplied by your transformation context instead. */
10896
- const updateSetAccessor: (node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined) => SetAccessorDeclaration;
10989
+ const updateSetAccessor: {
10990
+ (node: SetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
10991
+ (node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
10992
+ };
10897
10993
  /** @deprecated Use `factory.createCallSignature` or the factory supplied by your transformation context instead. */
10898
10994
  const createCallSignature: (typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined) => CallSignatureDeclaration;
10899
10995
  /** @deprecated Use `factory.updateCallSignature` or the factory supplied by your transformation context instead. */
@@ -10903,7 +10999,10 @@ declare namespace ts {
10903
10999
  /** @deprecated Use `factory.updateConstructSignature` or the factory supplied by your transformation context instead. */
10904
11000
  const updateConstructSignature: (node: ConstructSignatureDeclaration, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined) => ConstructSignatureDeclaration;
10905
11001
  /** @deprecated Use `factory.updateIndexSignature` or the factory supplied by your transformation context instead. */
10906
- const updateIndexSignature: (node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode) => IndexSignatureDeclaration;
11002
+ const updateIndexSignature: {
11003
+ (node: IndexSignatureDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
11004
+ (node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
11005
+ };
10907
11006
  /** @deprecated Use `factory.createKeywordTypeNode` or the factory supplied by your transformation context instead. */
10908
11007
  const createKeywordTypeNode: <TKind extends KeywordTypeSyntaxKind>(kind: TKind) => KeywordTypeNode<TKind>;
10909
11008
  /** @deprecated Use `factory.createTypePredicateNode` or the factory supplied by your transformation context instead. */
@@ -10964,13 +11063,14 @@ declare namespace ts {
10964
11063
  const updateInferTypeNode: (node: InferTypeNode, typeParameter: TypeParameterDeclaration) => InferTypeNode;
10965
11064
  /** @deprecated Use `factory.createImportTypeNode` or the factory supplied by your transformation context instead. */
10966
11065
  const createImportTypeNode: {
10967
- (argument: TypeNode, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
10968
11066
  (argument: TypeNode, assertions?: ImportTypeAssertionContainer | undefined, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
11067
+ (argument: TypeNode, assertions?: ImportTypeAssertionContainer | undefined, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
11068
+ (argument: TypeNode, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
10969
11069
  };
10970
11070
  /** @deprecated Use `factory.updateImportTypeNode` or the factory supplied by your transformation context instead. */
10971
11071
  const updateImportTypeNode: {
10972
- (node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
10973
11072
  (node: ImportTypeNode, argument: TypeNode, assertions: ImportTypeAssertionContainer | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
11073
+ (node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
10974
11074
  };
10975
11075
  /** @deprecated Use `factory.createParenthesizedType` or the factory supplied by your transformation context instead. */
10976
11076
  const createParenthesizedType: (type: TypeNode) => ParenthesizedTypeNode;
@@ -11215,29 +11315,65 @@ declare namespace ts {
11215
11315
  /** @deprecated Use `factory.updateVariableDeclarationList` or the factory supplied by your transformation context instead. */
11216
11316
  const updateVariableDeclarationList: (node: VariableDeclarationList, declarations: readonly VariableDeclaration[]) => VariableDeclarationList;
11217
11317
  /** @deprecated Use `factory.createFunctionDeclaration` or the factory supplied by your transformation context instead. */
11218
- const createFunctionDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => FunctionDeclaration;
11318
+ const createFunctionDeclaration: {
11319
+ (modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;
11320
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;
11321
+ };
11219
11322
  /** @deprecated Use `factory.updateFunctionDeclaration` or the factory supplied by your transformation context instead. */
11220
- const updateFunctionDeclaration: (node: FunctionDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => FunctionDeclaration;
11323
+ const updateFunctionDeclaration: {
11324
+ (node: FunctionDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;
11325
+ (node: FunctionDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;
11326
+ };
11221
11327
  /** @deprecated Use `factory.createClassDeclaration` or the factory supplied by your transformation context instead. */
11222
- const createClassDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]) => ClassDeclaration;
11328
+ const createClassDeclaration: {
11329
+ (modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
11330
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
11331
+ };
11223
11332
  /** @deprecated Use `factory.updateClassDeclaration` or the factory supplied by your transformation context instead. */
11224
- const updateClassDeclaration: (node: ClassDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]) => ClassDeclaration;
11333
+ const updateClassDeclaration: {
11334
+ (node: ClassDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
11335
+ (node: ClassDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
11336
+ };
11225
11337
  /** @deprecated Use `factory.createInterfaceDeclaration` or the factory supplied by your transformation context instead. */
11226
- const createInterfaceDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]) => InterfaceDeclaration;
11338
+ const createInterfaceDeclaration: {
11339
+ (modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11340
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11341
+ };
11227
11342
  /** @deprecated Use `factory.updateInterfaceDeclaration` or the factory supplied by your transformation context instead. */
11228
- const updateInterfaceDeclaration: (node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]) => InterfaceDeclaration;
11343
+ const updateInterfaceDeclaration: {
11344
+ (node: InterfaceDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11345
+ (node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11346
+ };
11229
11347
  /** @deprecated Use `factory.createTypeAliasDeclaration` or the factory supplied by your transformation context instead. */
11230
- const createTypeAliasDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode) => TypeAliasDeclaration;
11348
+ const createTypeAliasDeclaration: {
11349
+ (modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11350
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11351
+ };
11231
11352
  /** @deprecated Use `factory.updateTypeAliasDeclaration` or the factory supplied by your transformation context instead. */
11232
- const updateTypeAliasDeclaration: (node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode) => TypeAliasDeclaration;
11353
+ const updateTypeAliasDeclaration: {
11354
+ (node: TypeAliasDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11355
+ (node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11356
+ };
11233
11357
  /** @deprecated Use `factory.createEnumDeclaration` or the factory supplied by your transformation context instead. */
11234
- const createEnumDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]) => EnumDeclaration;
11358
+ const createEnumDeclaration: {
11359
+ (modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
11360
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
11361
+ };
11235
11362
  /** @deprecated Use `factory.updateEnumDeclaration` or the factory supplied by your transformation context instead. */
11236
- const updateEnumDeclaration: (node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]) => EnumDeclaration;
11363
+ const updateEnumDeclaration: {
11364
+ (node: EnumDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
11365
+ (node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
11366
+ };
11237
11367
  /** @deprecated Use `factory.createModuleDeclaration` or the factory supplied by your transformation context instead. */
11238
- const createModuleDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined) => ModuleDeclaration;
11368
+ const createModuleDeclaration: {
11369
+ (modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined): ModuleDeclaration;
11370
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined): ModuleDeclaration;
11371
+ };
11239
11372
  /** @deprecated Use `factory.updateModuleDeclaration` or the factory supplied by your transformation context instead. */
11240
- const updateModuleDeclaration: (node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined) => ModuleDeclaration;
11373
+ const updateModuleDeclaration: {
11374
+ (node: ModuleDeclaration, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
11375
+ (node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
11376
+ };
11241
11377
  /** @deprecated Use `factory.createModuleBlock` or the factory supplied by your transformation context instead. */
11242
11378
  const createModuleBlock: (statements: readonly Statement[]) => ModuleBlock;
11243
11379
  /** @deprecated Use `factory.updateModuleBlock` or the factory supplied by your transformation context instead. */
@@ -11251,13 +11387,25 @@ declare namespace ts {
11251
11387
  /** @deprecated Use `factory.updateNamespaceExportDeclaration` or the factory supplied by your transformation context instead. */
11252
11388
  const updateNamespaceExportDeclaration: (node: NamespaceExportDeclaration, name: Identifier) => NamespaceExportDeclaration;
11253
11389
  /** @deprecated Use `factory.createImportEqualsDeclaration` or the factory supplied by your transformation context instead. */
11254
- const createImportEqualsDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference) => ImportEqualsDeclaration;
11390
+ const createImportEqualsDeclaration: {
11391
+ (modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11392
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11393
+ };
11255
11394
  /** @deprecated Use `factory.updateImportEqualsDeclaration` or the factory supplied by your transformation context instead. */
11256
- const updateImportEqualsDeclaration: (node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference) => ImportEqualsDeclaration;
11395
+ const updateImportEqualsDeclaration: {
11396
+ (node: ImportEqualsDeclaration, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11397
+ (node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11398
+ };
11257
11399
  /** @deprecated Use `factory.createImportDeclaration` or the factory supplied by your transformation context instead. */
11258
- const createImportDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined) => ImportDeclaration;
11400
+ const createImportDeclaration: {
11401
+ (modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined): ImportDeclaration;
11402
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined): ImportDeclaration;
11403
+ };
11259
11404
  /** @deprecated Use `factory.updateImportDeclaration` or the factory supplied by your transformation context instead. */
11260
- const updateImportDeclaration: (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration;
11405
+ const updateImportDeclaration: {
11406
+ (node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
11407
+ (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
11408
+ };
11261
11409
  /** @deprecated Use `factory.createNamespaceImport` or the factory supplied by your transformation context instead. */
11262
11410
  const createNamespaceImport: (name: Identifier) => NamespaceImport;
11263
11411
  /** @deprecated Use `factory.updateNamespaceImport` or the factory supplied by your transformation context instead. */
@@ -11271,9 +11419,15 @@ declare namespace ts {
11271
11419
  /** @deprecated Use `factory.updateImportSpecifier` or the factory supplied by your transformation context instead. */
11272
11420
  const updateImportSpecifier: (node: ImportSpecifier, isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier) => ImportSpecifier;
11273
11421
  /** @deprecated Use `factory.createExportAssignment` or the factory supplied by your transformation context instead. */
11274
- const createExportAssignment: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression) => ExportAssignment;
11422
+ const createExportAssignment: {
11423
+ (modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
11424
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
11425
+ };
11275
11426
  /** @deprecated Use `factory.updateExportAssignment` or the factory supplied by your transformation context instead. */
11276
- const updateExportAssignment: (node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression) => ExportAssignment;
11427
+ const updateExportAssignment: {
11428
+ (node: ExportAssignment, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
11429
+ (node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
11430
+ };
11277
11431
  /** @deprecated Use `factory.createNamedExports` or the factory supplied by your transformation context instead. */
11278
11432
  const createNamedExports: (elements: readonly ExportSpecifier[]) => NamedExports;
11279
11433
  /** @deprecated Use `factory.updateNamedExports` or the factory supplied by your transformation context instead. */
@@ -11363,9 +11517,9 @@ declare namespace ts {
11363
11517
  /** @deprecated Use `factory.updateJsxFragment` or the factory supplied by your transformation context instead. */
11364
11518
  const updateJsxFragment: (node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment) => JsxFragment;
11365
11519
  /** @deprecated Use `factory.createJsxAttribute` or the factory supplied by your transformation context instead. */
11366
- const createJsxAttribute: (name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute;
11520
+ const createJsxAttribute: (name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute;
11367
11521
  /** @deprecated Use `factory.updateJsxAttribute` or the factory supplied by your transformation context instead. */
11368
- const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute;
11522
+ const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute;
11369
11523
  /** @deprecated Use `factory.createJsxAttributes` or the factory supplied by your transformation context instead. */
11370
11524
  const createJsxAttributes: (properties: readonly JsxAttributeLike[]) => JsxAttributes;
11371
11525
  /** @deprecated Use `factory.updateJsxAttributes` or the factory supplied by your transformation context instead. */
@@ -11577,8 +11731,12 @@ declare namespace ts {
11577
11731
  * @deprecated Use an appropriate `factory.update...` method instead, use `setCommentRange` or `setSourceMapRange`, and avoid setting `parent`.
11578
11732
  */
11579
11733
  const getMutableClone: <T extends Node>(node: T) => T;
11734
+ }
11735
+ declare namespace ts {
11580
11736
  /** @deprecated Use `isTypeAssertionExpression` instead. */
11581
11737
  const isTypeAssertion: (node: Node) => node is TypeAssertion;
11738
+ }
11739
+ declare namespace ts {
11582
11740
  /**
11583
11741
  * @deprecated Use `ts.ReadonlyESMap<K, V>` instead.
11584
11742
  */
@@ -11589,11 +11747,240 @@ declare namespace ts {
11589
11747
  */
11590
11748
  interface Map<T> extends ESMap<string, T> {
11591
11749
  }
11750
+ }
11751
+ declare namespace ts {
11592
11752
  /**
11593
11753
  * @deprecated Use `isMemberName` instead.
11594
11754
  */
11595
11755
  const isIdentifierOrPrivateIdentifier: (node: Node) => node is MemberName;
11596
11756
  }
11757
+ declare namespace ts {
11758
+ interface NodeFactory {
11759
+ /** @deprecated Use the overload that accepts 'modifiers' */
11760
+ createConstructorTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode;
11761
+ /** @deprecated Use the overload that accepts 'modifiers' */
11762
+ updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): ConstructorTypeNode;
11763
+ }
11764
+ }
11765
+ declare namespace ts {
11766
+ interface NodeFactory {
11767
+ createImportTypeNode(argument: TypeNode, assertions?: ImportTypeAssertionContainer, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
11768
+ /** @deprecated Use the overload that accepts 'assertions' */
11769
+ createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
11770
+ /** @deprecated Use the overload that accepts 'assertions' */
11771
+ updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode;
11772
+ }
11773
+ }
11774
+ declare namespace ts {
11775
+ interface NodeFactory {
11776
+ /** @deprecated Use the overload that accepts 'modifiers' */
11777
+ createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration;
11778
+ /** @deprecated Use the overload that accepts 'modifiers' */
11779
+ updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;
11780
+ }
11781
+ }
11782
+ declare namespace ts {
11783
+ interface Node {
11784
+ /**
11785
+ * @deprecated `decorators` has been removed from `Node` and merged with `modifiers` on the `Node` subtypes that support them.
11786
+ * Use `ts.canHaveDecorators()` to test whether a `Node` can have decorators.
11787
+ * Use `ts.getDecorators()` to get the decorators of a `Node`.
11788
+ *
11789
+ * For example:
11790
+ * ```ts
11791
+ * const decorators = ts.canHaveDecorators(node) ? ts.getDecorators(node) : undefined;
11792
+ * ```
11793
+ */
11794
+ readonly decorators?: undefined;
11795
+ /**
11796
+ * @deprecated `modifiers` has been removed from `Node` and moved to the `Node` subtypes that support them.
11797
+ * Use `ts.canHaveModifiers()` to test whether a `Node` can have modifiers.
11798
+ * Use `ts.getModifiers()` to get the modifiers of a `Node`.
11799
+ *
11800
+ * For example:
11801
+ * ```ts
11802
+ * const modifiers = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined;
11803
+ * ```
11804
+ */
11805
+ readonly modifiers?: NodeArray<ModifierLike> | undefined;
11806
+ }
11807
+ interface PropertySignature {
11808
+ /** @deprecated A property signature cannot have an initializer */
11809
+ readonly initializer?: Expression | undefined;
11810
+ }
11811
+ interface PropertyAssignment {
11812
+ /** @deprecated A property assignment cannot have a question token */
11813
+ readonly questionToken?: QuestionToken | undefined;
11814
+ /** @deprecated A property assignment cannot have an exclamation token */
11815
+ readonly exclamationToken?: ExclamationToken | undefined;
11816
+ }
11817
+ interface ShorthandPropertyAssignment {
11818
+ /** @deprecated A shorthand property assignment cannot have modifiers */
11819
+ readonly modifiers?: NodeArray<Modifier> | undefined;
11820
+ /** @deprecated A shorthand property assignment cannot have a question token */
11821
+ readonly questionToken?: QuestionToken | undefined;
11822
+ /** @deprecated A shorthand property assignment cannot have an exclamation token */
11823
+ readonly exclamationToken?: ExclamationToken | undefined;
11824
+ }
11825
+ interface FunctionTypeNode {
11826
+ /** @deprecated A function type cannot have modifiers */
11827
+ readonly modifiers?: NodeArray<Modifier> | undefined;
11828
+ }
11829
+ interface NodeFactory {
11830
+ /**
11831
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11832
+ */
11833
+ createParameterDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration;
11834
+ /**
11835
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11836
+ */
11837
+ updateParameterDeclaration(node: ParameterDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration;
11838
+ /**
11839
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11840
+ */
11841
+ createPropertyDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
11842
+ /**
11843
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11844
+ */
11845
+ updatePropertyDeclaration(node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
11846
+ /**
11847
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11848
+ */
11849
+ createMethodDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;
11850
+ /**
11851
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11852
+ */
11853
+ updateMethodDeclaration(node: MethodDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;
11854
+ /**
11855
+ * @deprecated This node does not support Decorators. Callers should use an overload that does not accept a `decorators` parameter.
11856
+ */
11857
+ createConstructorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
11858
+ /**
11859
+ * @deprecated This node does not support Decorators. Callers should use an overload that does not accept a `decorators` parameter.
11860
+ */
11861
+ updateConstructorDeclaration(node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
11862
+ /**
11863
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11864
+ */
11865
+ createGetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
11866
+ /**
11867
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11868
+ */
11869
+ updateGetAccessorDeclaration(node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
11870
+ /**
11871
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11872
+ */
11873
+ createSetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
11874
+ /**
11875
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11876
+ */
11877
+ updateSetAccessorDeclaration(node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
11878
+ /**
11879
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11880
+ */
11881
+ createIndexSignature(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
11882
+ /**
11883
+ * @deprecated Decorators and modifiers are no longer supported for this function. Callers should use an overload that does not accept the `decorators` and `modifiers` parameters.
11884
+ */
11885
+ updateIndexSignature(node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
11886
+ /**
11887
+ * @deprecated Decorators and modifiers are no longer supported for this function. Callers should use an overload that does not accept the `decorators` and `modifiers` parameters.
11888
+ */
11889
+ createClassStaticBlockDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration;
11890
+ /**
11891
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11892
+ */
11893
+ updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration;
11894
+ /**
11895
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11896
+ */
11897
+ createClassExpression(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
11898
+ /**
11899
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11900
+ */
11901
+ updateClassExpression(node: ClassExpression, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
11902
+ /**
11903
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11904
+ */
11905
+ createFunctionDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;
11906
+ /**
11907
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11908
+ */
11909
+ updateFunctionDeclaration(node: FunctionDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;
11910
+ /**
11911
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11912
+ */
11913
+ createClassDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
11914
+ /**
11915
+ * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter.
11916
+ */
11917
+ updateClassDeclaration(node: ClassDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
11918
+ /**
11919
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11920
+ */
11921
+ createInterfaceDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11922
+ /**
11923
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11924
+ */
11925
+ updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11926
+ /**
11927
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11928
+ */
11929
+ createTypeAliasDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11930
+ /**
11931
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11932
+ */
11933
+ updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11934
+ /**
11935
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11936
+ */
11937
+ createEnumDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
11938
+ /**
11939
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11940
+ */
11941
+ updateEnumDeclaration(node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
11942
+ /**
11943
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11944
+ */
11945
+ createModuleDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration;
11946
+ /**
11947
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11948
+ */
11949
+ updateModuleDeclaration(node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
11950
+ /**
11951
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11952
+ */
11953
+ createImportEqualsDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11954
+ /**
11955
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11956
+ */
11957
+ updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11958
+ /**
11959
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11960
+ */
11961
+ createImportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration;
11962
+ /**
11963
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11964
+ */
11965
+ updateImportDeclaration(node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
11966
+ /**
11967
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11968
+ */
11969
+ createExportAssignment(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
11970
+ /**
11971
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11972
+ */
11973
+ updateExportAssignment(node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
11974
+ /**
11975
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11976
+ */
11977
+ createExportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration;
11978
+ /**
11979
+ * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter.
11980
+ */
11981
+ updateExportDeclaration(node: ExportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, assertClause: AssertClause | undefined): ExportDeclaration;
11982
+ }
11983
+ }
11597
11984
 
11598
11985
  export = ts;
11599
11986
  export as namespace ts;