typescript 4.7.2 → 4.8.0-beta

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 (35) hide show
  1. package/lib/cs/diagnosticMessages.generated.json +19 -3
  2. package/lib/de/diagnosticMessages.generated.json +17 -3
  3. package/lib/dynamicImportCompat.js +25 -0
  4. package/lib/es/diagnosticMessages.generated.json +19 -3
  5. package/lib/fr/diagnosticMessages.generated.json +19 -3
  6. package/lib/it/diagnosticMessages.generated.json +17 -3
  7. package/lib/ja/diagnosticMessages.generated.json +17 -3
  8. package/lib/ko/diagnosticMessages.generated.json +19 -3
  9. package/lib/lib.dom.d.ts +128 -183
  10. package/lib/lib.dom.iterable.d.ts +1 -11
  11. package/lib/lib.es2020.intl.d.ts +30 -5
  12. package/lib/lib.es2021.intl.d.ts +7 -3
  13. package/lib/lib.es2022.d.ts +1 -0
  14. package/lib/lib.es2022.sharedmemory.d.ts +27 -0
  15. package/lib/lib.es5.d.ts +1 -1
  16. package/lib/lib.esnext.intl.d.ts +5 -1
  17. package/lib/lib.webworker.d.ts +54 -27
  18. package/lib/lib.webworker.iterable.d.ts +1 -1
  19. package/lib/pl/diagnosticMessages.generated.json +19 -3
  20. package/lib/protocol.d.ts +2 -0
  21. package/lib/pt-br/diagnosticMessages.generated.json +19 -3
  22. package/lib/ru/diagnosticMessages.generated.json +19 -3
  23. package/lib/tr/diagnosticMessages.generated.json +17 -3
  24. package/lib/tsc.js +4088 -2539
  25. package/lib/tsserver.js +7568 -3883
  26. package/lib/tsserverlibrary.d.ts +560 -110
  27. package/lib/tsserverlibrary.js +7479 -3881
  28. package/lib/typescript.d.ts +548 -108
  29. package/lib/typescript.js +6993 -3712
  30. package/lib/typescriptServices.d.ts +548 -108
  31. package/lib/typescriptServices.js +6993 -3712
  32. package/lib/typingsInstaller.js +5037 -3481
  33. package/lib/zh-cn/diagnosticMessages.generated.json +19 -3
  34. package/lib/zh-tw/diagnosticMessages.generated.json +19 -3
  35. package/package.json +21 -20
@@ -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
  }
@@ -3402,39 +3426,35 @@ declare namespace ts {
3402
3426
  createComputedPropertyName(expression: Expression): ComputedPropertyName;
3403
3427
  updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName;
3404
3428
  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
3429
  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;
3430
+ createParameterDeclaration(modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration;
3431
+ updateParameterDeclaration(node: ParameterDeclaration, modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration;
3412
3432
  createDecorator(expression: Expression): Decorator;
3413
3433
  updateDecorator(node: Decorator, expression: Expression): Decorator;
3414
3434
  createPropertySignature(modifiers: readonly Modifier[] | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined): PropertySignature;
3415
3435
  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;
3436
+ createPropertyDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
3437
+ updatePropertyDeclaration(node: PropertyDeclaration, modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
3418
3438
  createMethodSignature(modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): MethodSignature;
3419
3439
  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;
3440
+ 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;
3441
+ 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;
3442
+ createConstructorDeclaration(modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
3443
+ updateConstructorDeclaration(node: ConstructorDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
3444
+ createGetAccessorDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
3445
+ updateGetAccessorDeclaration(node: GetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
3446
+ createSetAccessorDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
3447
+ updateSetAccessorDeclaration(node: SetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
3428
3448
  createCallSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): CallSignatureDeclaration;
3429
3449
  updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined): CallSignatureDeclaration;
3430
3450
  createConstructSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): ConstructSignatureDeclaration;
3431
3451
  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;
3452
+ createIndexSignature(modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
3453
+ updateIndexSignature(node: IndexSignatureDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
3434
3454
  createTemplateLiteralTypeSpan(type: TypeNode, literal: TemplateMiddle | TemplateTail): TemplateLiteralTypeSpan;
3435
3455
  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;
3456
+ createClassStaticBlockDeclaration(body: Block): ClassStaticBlockDeclaration;
3457
+ updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, body: Block): ClassStaticBlockDeclaration;
3438
3458
  createKeywordTypeNode<TKind extends KeywordTypeSyntaxKind>(kind: TKind): KeywordTypeNode<TKind>;
3439
3459
  createTypePredicateNode(assertsModifier: AssertsKeyword | undefined, parameterName: Identifier | ThisTypeNode | string, type: TypeNode | undefined): TypePredicateNode;
3440
3460
  updateTypePredicateNode(node: TypePredicateNode, assertsModifier: AssertsKeyword | undefined, parameterName: Identifier | ThisTypeNode, type: TypeNode | undefined): TypePredicateNode;
@@ -3443,11 +3463,7 @@ declare namespace ts {
3443
3463
  createFunctionTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): FunctionTypeNode;
3444
3464
  updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): FunctionTypeNode;
3445
3465
  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
3466
  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
3467
  createTypeQueryNode(exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode;
3452
3468
  updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode;
3453
3469
  createTypeLiteralNode(members: readonly TypeElement[] | undefined): TypeLiteralNode;
@@ -3470,9 +3486,7 @@ declare namespace ts {
3470
3486
  updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode;
3471
3487
  createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode;
3472
3488
  updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode;
3473
- createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
3474
3489
  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
3490
  updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, assertions: ImportTypeAssertionContainer | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode;
3477
3491
  createParenthesizedType(type: TypeNode): ParenthesizedTypeNode;
3478
3492
  updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode;
@@ -3552,8 +3566,8 @@ declare namespace ts {
3552
3566
  updateYieldExpression(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression | undefined): YieldExpression;
3553
3567
  createSpreadElement(expression: Expression): SpreadElement;
3554
3568
  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;
3569
+ createClassExpression(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
3570
+ updateClassExpression(node: ClassExpression, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
3557
3571
  createOmittedExpression(): OmittedExpression;
3558
3572
  createExpressionWithTypeArguments(expression: Expression, typeArguments: readonly TypeNode[] | undefined): ExpressionWithTypeArguments;
3559
3573
  updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, expression: Expression, typeArguments: readonly TypeNode[] | undefined): ExpressionWithTypeArguments;
@@ -3608,28 +3622,28 @@ declare namespace ts {
3608
3622
  updateVariableDeclaration(node: VariableDeclaration, name: BindingName, exclamationToken: ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration;
3609
3623
  createVariableDeclarationList(declarations: readonly VariableDeclaration[], flags?: NodeFlags): VariableDeclarationList;
3610
3624
  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;
3625
+ 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;
3626
+ 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;
3627
+ createClassDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
3628
+ updateClassDeclaration(node: ClassDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
3629
+ createInterfaceDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
3630
+ updateInterfaceDeclaration(node: InterfaceDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
3631
+ createTypeAliasDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
3632
+ updateTypeAliasDeclaration(node: TypeAliasDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
3633
+ createEnumDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
3634
+ updateEnumDeclaration(node: EnumDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
3635
+ createModuleDeclaration(modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration;
3636
+ updateModuleDeclaration(node: ModuleDeclaration, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
3623
3637
  createModuleBlock(statements: readonly Statement[]): ModuleBlock;
3624
3638
  updateModuleBlock(node: ModuleBlock, statements: readonly Statement[]): ModuleBlock;
3625
3639
  createCaseBlock(clauses: readonly CaseOrDefaultClause[]): CaseBlock;
3626
3640
  updateCaseBlock(node: CaseBlock, clauses: readonly CaseOrDefaultClause[]): CaseBlock;
3627
3641
  createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration;
3628
3642
  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;
3643
+ createImportEqualsDeclaration(modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
3644
+ updateImportEqualsDeclaration(node: ImportEqualsDeclaration, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
3645
+ createImportDeclaration(modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration;
3646
+ updateImportDeclaration(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
3633
3647
  createImportClause(isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause;
3634
3648
  updateImportClause(node: ImportClause, isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause;
3635
3649
  createAssertClause(elements: NodeArray<AssertEntry>, multiLine?: boolean): AssertClause;
@@ -3646,10 +3660,10 @@ declare namespace ts {
3646
3660
  updateNamedImports(node: NamedImports, elements: readonly ImportSpecifier[]): NamedImports;
3647
3661
  createImportSpecifier(isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier;
3648
3662
  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;
3663
+ createExportAssignment(modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
3664
+ updateExportAssignment(node: ExportAssignment, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
3665
+ createExportDeclaration(modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration;
3666
+ updateExportDeclaration(node: ExportDeclaration, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, assertClause: AssertClause | undefined): ExportDeclaration;
3653
3667
  createNamedExports(elements: readonly ExportSpecifier[]): NamedExports;
3654
3668
  updateNamedExports(node: NamedExports, elements: readonly ExportSpecifier[]): NamedExports;
3655
3669
  createExportSpecifier(isTypeOnly: boolean, propertyName: string | Identifier | undefined, name: string | Identifier): ExportSpecifier;
@@ -3746,8 +3760,8 @@ declare namespace ts {
3746
3760
  createJsxOpeningFragment(): JsxOpeningFragment;
3747
3761
  createJsxJsxClosingFragment(): JsxClosingFragment;
3748
3762
  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;
3763
+ createJsxAttribute(name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute;
3764
+ updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute;
3751
3765
  createJsxAttributes(properties: readonly JsxAttributeLike[]): JsxAttributes;
3752
3766
  updateJsxAttributes(node: JsxAttributes, properties: readonly JsxAttributeLike[]): JsxAttributes;
3753
3767
  createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute;
@@ -4055,7 +4069,7 @@ declare namespace ts {
4055
4069
  NoSpaceIfEmpty = 524288,
4056
4070
  SingleElement = 1048576,
4057
4071
  SpaceAfterList = 2097152,
4058
- Modifiers = 262656,
4072
+ Modifiers = 2359808,
4059
4073
  HeritageClauses = 512,
4060
4074
  SingleLineTypeLiteralMembers = 768,
4061
4075
  MultiLineTypeLiteralMembers = 32897,
@@ -4119,9 +4133,12 @@ declare namespace ts {
4119
4133
  readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
4120
4134
  readonly includeInlayFunctionParameterTypeHints?: boolean;
4121
4135
  readonly includeInlayVariableTypeHints?: boolean;
4136
+ readonly includeInlayVariableTypeHintsWhenTypeMatchesName?: boolean;
4122
4137
  readonly includeInlayPropertyDeclarationTypeHints?: boolean;
4123
4138
  readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
4124
4139
  readonly includeInlayEnumMemberValueHints?: boolean;
4140
+ readonly allowRenameOfImportPath?: boolean;
4141
+ readonly autoImportFileExcludePatterns?: string[];
4125
4142
  }
4126
4143
  /** Represents a bigint literal value without requiring bigint support */
4127
4144
  export interface PseudoBigInt {
@@ -4138,7 +4155,7 @@ declare namespace ts {
4138
4155
  Changed = 1,
4139
4156
  Deleted = 2
4140
4157
  }
4141
- export type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind) => void;
4158
+ export type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind, modifiedTime?: Date) => void;
4142
4159
  export type DirectoryWatcherCallback = (fileName: string) => void;
4143
4160
  export interface System {
4144
4161
  args: string[];
@@ -4349,6 +4366,8 @@ declare namespace ts {
4349
4366
  function symbolName(symbol: Symbol): string;
4350
4367
  function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | PrivateIdentifier | undefined;
4351
4368
  function getNameOfDeclaration(declaration: Declaration | Expression | undefined): DeclarationName | undefined;
4369
+ function getDecorators(node: HasDecorators): readonly Decorator[] | undefined;
4370
+ function getModifiers(node: HasModifiers): readonly Modifier[] | undefined;
4352
4371
  /**
4353
4372
  * Gets the JSDoc parameter tags for the node if present.
4354
4373
  *
@@ -4482,6 +4501,7 @@ declare namespace ts {
4482
4501
  function isClassElement(node: Node): node is ClassElement;
4483
4502
  function isClassLike(node: Node): node is ClassLikeDeclaration;
4484
4503
  function isAccessor(node: Node): node is AccessorDeclaration;
4504
+ function isModifierLike(node: Node): node is ModifierLike;
4485
4505
  function isTypeElement(node: Node): node is TypeElement;
4486
4506
  function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement;
4487
4507
  function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike;
@@ -4510,6 +4530,8 @@ declare namespace ts {
4510
4530
  function isObjectLiteralElement(node: Node): node is ObjectLiteralElement;
4511
4531
  function isStringLiteralLike(node: Node): node is StringLiteralLike;
4512
4532
  function isJSDocLinkLike(node: Node): node is JSDocLink | JSDocLinkCode | JSDocLinkPlain;
4533
+ function hasRestParameter(s: SignatureDeclaration | JSDocSignature): boolean;
4534
+ function isRestParameter(node: ParameterDeclaration | JSDocParameterTag): boolean;
4513
4535
  }
4514
4536
  declare namespace ts {
4515
4537
  const factory: NodeFactory;
@@ -4720,6 +4742,7 @@ declare namespace ts {
4720
4742
  function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration;
4721
4743
  function isImportDeclaration(node: Node): node is ImportDeclaration;
4722
4744
  function isImportClause(node: Node): node is ImportClause;
4745
+ function isImportTypeAssertionContainer(node: Node): node is ImportTypeAssertionContainer;
4723
4746
  function isAssertClause(node: Node): node is AssertClause;
4724
4747
  function isAssertEntry(node: Node): node is AssertEntry;
4725
4748
  function isNamespaceImport(node: Node): node is NamespaceImport;
@@ -5098,6 +5121,31 @@ declare namespace ts {
5098
5121
  export function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string;
5099
5122
  export function formatDiagnosticsWithColorAndContext(diagnostics: readonly Diagnostic[], host: FormatDiagnosticsHost): string;
5100
5123
  export function flattenDiagnosticMessageText(diag: string | DiagnosticMessageChain | undefined, newLine: string, indent?: number): string;
5124
+ /**
5125
+ * Calculates the resulting resolution mode for some reference in some file - this is generally the explicitly
5126
+ * provided resolution mode in the reference, unless one is not present, in which case it is the mode of the containing file.
5127
+ */
5128
+ export function getModeForFileReference(ref: FileReference | string, containingFileMode: SourceFile["impliedNodeFormat"]): ModuleKind.CommonJS | ModuleKind.ESNext | undefined;
5129
+ /**
5130
+ * Calculates the final resolution mode for an import at some index within a file's imports list. This is generally the explicitly
5131
+ * defined mode of the import if provided, or, if not, the mode of the containing file (with some exceptions: import=require is always commonjs, dynamic import is always esm).
5132
+ * If you have an actual import node, prefer using getModeForUsageLocation on the reference string node.
5133
+ * @param file File to fetch the resolution mode within
5134
+ * @param index Index into the file's complete resolution list to get the resolution of - this is a concatenation of the file's imports and module augmentations
5135
+ */
5136
+ export function getModeForResolutionAtIndex(file: SourceFile, index: number): ModuleKind.CommonJS | ModuleKind.ESNext | undefined;
5137
+ /**
5138
+ * Calculates the final resolution mode for a given module reference node. This is generally the explicitly provided resolution mode, if
5139
+ * one exists, or the mode of the containing source file. (Excepting import=require, which is always commonjs, and dynamic import, which is always esm).
5140
+ * Notably, this function always returns `undefined` if the containing file has an `undefined` `impliedNodeFormat` - this field is only set when
5141
+ * `moduleResolution` is `node16`+.
5142
+ * @param file The file the import or import-like reference is contained within
5143
+ * @param usage The module reference string
5144
+ * @returns The final resolution mode of the import
5145
+ */
5146
+ export function getModeForUsageLocation(file: {
5147
+ impliedNodeFormat?: SourceFile["impliedNodeFormat"];
5148
+ }, usage: StringLiteralLike): ModuleKind.CommonJS | ModuleKind.ESNext | undefined;
5101
5149
  export function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): readonly Diagnostic[];
5102
5150
  /**
5103
5151
  * A function for determining if a given file is esm or cjs format, assuming modern node module resolution rules, as configured by the
@@ -5871,6 +5919,8 @@ declare namespace ts {
5871
5919
  getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined;
5872
5920
  getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined;
5873
5921
  getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined;
5922
+ getRenameInfo(fileName: string, position: number, preferences: UserPreferences): RenameInfo;
5923
+ /** @deprecated Use the signature with `UserPreferences` instead. */
5874
5924
  getRenameInfo(fileName: string, position: number, options?: RenameInfoOptions): RenameInfo;
5875
5925
  findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): readonly RenameLocation[] | undefined;
5876
5926
  getSmartSelectionRange(fileName: string, position: number): SelectionRange;
@@ -6250,6 +6300,7 @@ declare namespace ts {
6250
6300
  Insert = "insert",
6251
6301
  Remove = "remove"
6252
6302
  }
6303
+ /** @deprecated - consider using EditorSettings instead */
6253
6304
  interface EditorOptions {
6254
6305
  BaseIndentSize?: number;
6255
6306
  IndentSize: number;
@@ -6267,6 +6318,7 @@ declare namespace ts {
6267
6318
  indentStyle?: IndentStyle;
6268
6319
  trimTrailingWhitespace?: boolean;
6269
6320
  }
6321
+ /** @deprecated - consider using FormatCodeSettings instead */
6270
6322
  interface FormatCodeOptions extends EditorOptions {
6271
6323
  InsertSpaceAfterCommaDelimiter: boolean;
6272
6324
  InsertSpaceAfterSemicolonInForStatements: boolean;
@@ -6392,6 +6444,9 @@ declare namespace ts {
6392
6444
  canRename: false;
6393
6445
  localizedErrorMessage: string;
6394
6446
  }
6447
+ /**
6448
+ * @deprecated Use `UserPreferences` instead.
6449
+ */
6395
6450
  interface RenameInfoOptions {
6396
6451
  readonly allowRenameOfImportPath?: boolean;
6397
6452
  }
@@ -6934,7 +6989,7 @@ declare namespace ts.server {
6934
6989
  compressionKind: string;
6935
6990
  data: any;
6936
6991
  }
6937
- type RequireResult = {
6992
+ type ModuleImportResult = {
6938
6993
  module: {};
6939
6994
  error: undefined;
6940
6995
  } | {
@@ -6944,6 +6999,8 @@ declare namespace ts.server {
6944
6999
  message?: string;
6945
7000
  };
6946
7001
  };
7002
+ /** @deprecated Use {@link ModuleImportResult} instead. */
7003
+ type RequireResult = ModuleImportResult;
6947
7004
  interface ServerHost extends System {
6948
7005
  watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: WatchOptions): FileWatcher;
6949
7006
  watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: WatchOptions): FileWatcher;
@@ -6953,7 +7010,8 @@ declare namespace ts.server {
6953
7010
  clearImmediate(timeoutId: any): void;
6954
7011
  gc?(): void;
6955
7012
  trace?(s: string): void;
6956
- require?(initialPath: string, moduleName: string): RequireResult;
7013
+ require?(initialPath: string, moduleName: string): ModuleImportResult;
7014
+ importServicePlugin?(root: string, moduleName: string): Promise<ModuleImportResult>;
6957
7015
  }
6958
7016
  }
6959
7017
  declare namespace ts.server {
@@ -9708,9 +9766,11 @@ declare namespace ts.server.protocol {
9708
9766
  readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
9709
9767
  readonly includeInlayFunctionParameterTypeHints?: boolean;
9710
9768
  readonly includeInlayVariableTypeHints?: boolean;
9769
+ readonly includeInlayVariableTypeHintsWhenTypeMatchesName?: boolean;
9711
9770
  readonly includeInlayPropertyDeclarationTypeHints?: boolean;
9712
9771
  readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
9713
9772
  readonly includeInlayEnumMemberValueHints?: boolean;
9773
+ readonly autoImportFileExcludePatterns?: string[];
9714
9774
  }
9715
9775
  interface CompilerOptions {
9716
9776
  allowJs?: boolean;
@@ -10402,6 +10462,8 @@ declare namespace ts.server {
10402
10462
  /** Tracks projects that we have already sent telemetry for. */
10403
10463
  private readonly seenProjects;
10404
10464
  private performanceEventHandler?;
10465
+ private pendingPluginEnablements?;
10466
+ private currentPluginEnablementPromise?;
10405
10467
  constructor(opts: ProjectServiceOptions);
10406
10468
  toPath(fileName: string): Path;
10407
10469
  private loadTypesMap;
@@ -10561,6 +10623,9 @@ declare namespace ts.server {
10561
10623
  applySafeList(proj: protocol.ExternalProject): NormalizedPath[];
10562
10624
  openExternalProject(proj: protocol.ExternalProject): void;
10563
10625
  hasDeferredExtension(): boolean;
10626
+ private enableRequestedPluginsAsync;
10627
+ private enableRequestedPluginsWorker;
10628
+ private enableRequestedPluginsForProjectAsync;
10564
10629
  configurePlugin(args: protocol.ConfigurePluginRequestArguments): void;
10565
10630
  }
10566
10631
  export {};
@@ -10841,33 +10906,69 @@ declare namespace ts {
10841
10906
  (node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;
10842
10907
  };
10843
10908
  /** @deprecated Use `factory.createParameterDeclaration` or the factory supplied by your transformation context instead. */
10844
- 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;
10909
+ const createParameter: {
10910
+ (modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined): ParameterDeclaration;
10911
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined): ParameterDeclaration;
10912
+ };
10845
10913
  /** @deprecated Use `factory.updateParameterDeclaration` or the factory supplied by your transformation context instead. */
10846
- 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;
10914
+ const updateParameter: {
10915
+ (node: ParameterDeclaration, modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration;
10916
+ (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;
10917
+ };
10847
10918
  /** @deprecated Use `factory.createDecorator` or the factory supplied by your transformation context instead. */
10848
10919
  const createDecorator: (expression: Expression) => Decorator;
10849
10920
  /** @deprecated Use `factory.updateDecorator` or the factory supplied by your transformation context instead. */
10850
10921
  const updateDecorator: (node: Decorator, expression: Expression) => Decorator;
10851
10922
  /** @deprecated Use `factory.createPropertyDeclaration` or the factory supplied by your transformation context instead. */
10852
- const createProperty: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined) => PropertyDeclaration;
10923
+ const createProperty: {
10924
+ (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
10925
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
10926
+ };
10853
10927
  /** @deprecated Use `factory.updatePropertyDeclaration` or the factory supplied by your transformation context instead. */
10854
- 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;
10928
+ const updateProperty: {
10929
+ (node: PropertyDeclaration, modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
10930
+ (node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
10931
+ };
10855
10932
  /** @deprecated Use `factory.createMethodDeclaration` or the factory supplied by your transformation context instead. */
10856
- 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;
10933
+ const createMethod: {
10934
+ (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;
10935
+ (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;
10936
+ };
10857
10937
  /** @deprecated Use `factory.updateMethodDeclaration` or the factory supplied by your transformation context instead. */
10858
- 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;
10938
+ const updateMethod: {
10939
+ (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;
10940
+ (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;
10941
+ };
10859
10942
  /** @deprecated Use `factory.createConstructorDeclaration` or the factory supplied by your transformation context instead. */
10860
- const createConstructor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined) => ConstructorDeclaration;
10943
+ const createConstructor: {
10944
+ (modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
10945
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
10946
+ };
10861
10947
  /** @deprecated Use `factory.updateConstructorDeclaration` or the factory supplied by your transformation context instead. */
10862
- const updateConstructor: (node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined) => ConstructorDeclaration;
10948
+ const updateConstructor: {
10949
+ (node: ConstructorDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
10950
+ (node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
10951
+ };
10863
10952
  /** @deprecated Use `factory.createGetAccessorDeclaration` or the factory supplied by your transformation context instead. */
10864
- const createGetAccessor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => GetAccessorDeclaration;
10953
+ const createGetAccessor: {
10954
+ (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
10955
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
10956
+ };
10865
10957
  /** @deprecated Use `factory.updateGetAccessorDeclaration` or the factory supplied by your transformation context instead. */
10866
- const updateGetAccessor: (node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => GetAccessorDeclaration;
10958
+ const updateGetAccessor: {
10959
+ (node: GetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
10960
+ (node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
10961
+ };
10867
10962
  /** @deprecated Use `factory.createSetAccessorDeclaration` or the factory supplied by your transformation context instead. */
10868
- const createSetAccessor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined) => SetAccessorDeclaration;
10963
+ const createSetAccessor: {
10964
+ (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
10965
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
10966
+ };
10869
10967
  /** @deprecated Use `factory.updateSetAccessorDeclaration` or the factory supplied by your transformation context instead. */
10870
- const updateSetAccessor: (node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined) => SetAccessorDeclaration;
10968
+ const updateSetAccessor: {
10969
+ (node: SetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
10970
+ (node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
10971
+ };
10871
10972
  /** @deprecated Use `factory.createCallSignature` or the factory supplied by your transformation context instead. */
10872
10973
  const createCallSignature: (typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined) => CallSignatureDeclaration;
10873
10974
  /** @deprecated Use `factory.updateCallSignature` or the factory supplied by your transformation context instead. */
@@ -10877,7 +10978,10 @@ declare namespace ts {
10877
10978
  /** @deprecated Use `factory.updateConstructSignature` or the factory supplied by your transformation context instead. */
10878
10979
  const updateConstructSignature: (node: ConstructSignatureDeclaration, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined) => ConstructSignatureDeclaration;
10879
10980
  /** @deprecated Use `factory.updateIndexSignature` or the factory supplied by your transformation context instead. */
10880
- const updateIndexSignature: (node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode) => IndexSignatureDeclaration;
10981
+ const updateIndexSignature: {
10982
+ (node: IndexSignatureDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
10983
+ (node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
10984
+ };
10881
10985
  /** @deprecated Use `factory.createKeywordTypeNode` or the factory supplied by your transformation context instead. */
10882
10986
  const createKeywordTypeNode: <TKind extends KeywordTypeSyntaxKind>(kind: TKind) => KeywordTypeNode<TKind>;
10883
10987
  /** @deprecated Use `factory.createTypePredicateNode` or the factory supplied by your transformation context instead. */
@@ -10938,13 +11042,14 @@ declare namespace ts {
10938
11042
  const updateInferTypeNode: (node: InferTypeNode, typeParameter: TypeParameterDeclaration) => InferTypeNode;
10939
11043
  /** @deprecated Use `factory.createImportTypeNode` or the factory supplied by your transformation context instead. */
10940
11044
  const createImportTypeNode: {
10941
- (argument: TypeNode, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
10942
11045
  (argument: TypeNode, assertions?: ImportTypeAssertionContainer | undefined, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
11046
+ (argument: TypeNode, assertions?: ImportTypeAssertionContainer | undefined, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
11047
+ (argument: TypeNode, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
10943
11048
  };
10944
11049
  /** @deprecated Use `factory.updateImportTypeNode` or the factory supplied by your transformation context instead. */
10945
11050
  const updateImportTypeNode: {
10946
- (node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
10947
11051
  (node: ImportTypeNode, argument: TypeNode, assertions: ImportTypeAssertionContainer | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
11052
+ (node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
10948
11053
  };
10949
11054
  /** @deprecated Use `factory.createParenthesizedType` or the factory supplied by your transformation context instead. */
10950
11055
  const createParenthesizedType: (type: TypeNode) => ParenthesizedTypeNode;
@@ -11189,29 +11294,65 @@ declare namespace ts {
11189
11294
  /** @deprecated Use `factory.updateVariableDeclarationList` or the factory supplied by your transformation context instead. */
11190
11295
  const updateVariableDeclarationList: (node: VariableDeclarationList, declarations: readonly VariableDeclaration[]) => VariableDeclarationList;
11191
11296
  /** @deprecated Use `factory.createFunctionDeclaration` or the factory supplied by your transformation context instead. */
11192
- 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;
11297
+ const createFunctionDeclaration: {
11298
+ (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;
11299
+ (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;
11300
+ };
11193
11301
  /** @deprecated Use `factory.updateFunctionDeclaration` or the factory supplied by your transformation context instead. */
11194
- 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;
11302
+ const updateFunctionDeclaration: {
11303
+ (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;
11304
+ (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;
11305
+ };
11195
11306
  /** @deprecated Use `factory.createClassDeclaration` or the factory supplied by your transformation context instead. */
11196
- 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;
11307
+ const createClassDeclaration: {
11308
+ (modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
11309
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
11310
+ };
11197
11311
  /** @deprecated Use `factory.updateClassDeclaration` or the factory supplied by your transformation context instead. */
11198
- 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;
11312
+ const updateClassDeclaration: {
11313
+ (node: ClassDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
11314
+ (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;
11315
+ };
11199
11316
  /** @deprecated Use `factory.createInterfaceDeclaration` or the factory supplied by your transformation context instead. */
11200
- 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;
11317
+ const createInterfaceDeclaration: {
11318
+ (modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11319
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11320
+ };
11201
11321
  /** @deprecated Use `factory.updateInterfaceDeclaration` or the factory supplied by your transformation context instead. */
11202
- 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;
11322
+ const updateInterfaceDeclaration: {
11323
+ (node: InterfaceDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11324
+ (node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11325
+ };
11203
11326
  /** @deprecated Use `factory.createTypeAliasDeclaration` or the factory supplied by your transformation context instead. */
11204
- const createTypeAliasDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode) => TypeAliasDeclaration;
11327
+ const createTypeAliasDeclaration: {
11328
+ (modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11329
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11330
+ };
11205
11331
  /** @deprecated Use `factory.updateTypeAliasDeclaration` or the factory supplied by your transformation context instead. */
11206
- const updateTypeAliasDeclaration: (node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode) => TypeAliasDeclaration;
11332
+ const updateTypeAliasDeclaration: {
11333
+ (node: TypeAliasDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11334
+ (node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11335
+ };
11207
11336
  /** @deprecated Use `factory.createEnumDeclaration` or the factory supplied by your transformation context instead. */
11208
- const createEnumDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]) => EnumDeclaration;
11337
+ const createEnumDeclaration: {
11338
+ (modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
11339
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
11340
+ };
11209
11341
  /** @deprecated Use `factory.updateEnumDeclaration` or the factory supplied by your transformation context instead. */
11210
- const updateEnumDeclaration: (node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]) => EnumDeclaration;
11342
+ const updateEnumDeclaration: {
11343
+ (node: EnumDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
11344
+ (node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
11345
+ };
11211
11346
  /** @deprecated Use `factory.createModuleDeclaration` or the factory supplied by your transformation context instead. */
11212
- const createModuleDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined) => ModuleDeclaration;
11347
+ const createModuleDeclaration: {
11348
+ (modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined): ModuleDeclaration;
11349
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined): ModuleDeclaration;
11350
+ };
11213
11351
  /** @deprecated Use `factory.updateModuleDeclaration` or the factory supplied by your transformation context instead. */
11214
- const updateModuleDeclaration: (node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined) => ModuleDeclaration;
11352
+ const updateModuleDeclaration: {
11353
+ (node: ModuleDeclaration, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
11354
+ (node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
11355
+ };
11215
11356
  /** @deprecated Use `factory.createModuleBlock` or the factory supplied by your transformation context instead. */
11216
11357
  const createModuleBlock: (statements: readonly Statement[]) => ModuleBlock;
11217
11358
  /** @deprecated Use `factory.updateModuleBlock` or the factory supplied by your transformation context instead. */
@@ -11225,13 +11366,25 @@ declare namespace ts {
11225
11366
  /** @deprecated Use `factory.updateNamespaceExportDeclaration` or the factory supplied by your transformation context instead. */
11226
11367
  const updateNamespaceExportDeclaration: (node: NamespaceExportDeclaration, name: Identifier) => NamespaceExportDeclaration;
11227
11368
  /** @deprecated Use `factory.createImportEqualsDeclaration` or the factory supplied by your transformation context instead. */
11228
- const createImportEqualsDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference) => ImportEqualsDeclaration;
11369
+ const createImportEqualsDeclaration: {
11370
+ (modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11371
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11372
+ };
11229
11373
  /** @deprecated Use `factory.updateImportEqualsDeclaration` or the factory supplied by your transformation context instead. */
11230
- const updateImportEqualsDeclaration: (node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference) => ImportEqualsDeclaration;
11374
+ const updateImportEqualsDeclaration: {
11375
+ (node: ImportEqualsDeclaration, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11376
+ (node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11377
+ };
11231
11378
  /** @deprecated Use `factory.createImportDeclaration` or the factory supplied by your transformation context instead. */
11232
- const createImportDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined) => ImportDeclaration;
11379
+ const createImportDeclaration: {
11380
+ (modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined): ImportDeclaration;
11381
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined): ImportDeclaration;
11382
+ };
11233
11383
  /** @deprecated Use `factory.updateImportDeclaration` or the factory supplied by your transformation context instead. */
11234
- const updateImportDeclaration: (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration;
11384
+ const updateImportDeclaration: {
11385
+ (node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
11386
+ (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
11387
+ };
11235
11388
  /** @deprecated Use `factory.createNamespaceImport` or the factory supplied by your transformation context instead. */
11236
11389
  const createNamespaceImport: (name: Identifier) => NamespaceImport;
11237
11390
  /** @deprecated Use `factory.updateNamespaceImport` or the factory supplied by your transformation context instead. */
@@ -11245,9 +11398,15 @@ declare namespace ts {
11245
11398
  /** @deprecated Use `factory.updateImportSpecifier` or the factory supplied by your transformation context instead. */
11246
11399
  const updateImportSpecifier: (node: ImportSpecifier, isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier) => ImportSpecifier;
11247
11400
  /** @deprecated Use `factory.createExportAssignment` or the factory supplied by your transformation context instead. */
11248
- const createExportAssignment: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression) => ExportAssignment;
11401
+ const createExportAssignment: {
11402
+ (modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
11403
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
11404
+ };
11249
11405
  /** @deprecated Use `factory.updateExportAssignment` or the factory supplied by your transformation context instead. */
11250
- const updateExportAssignment: (node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression) => ExportAssignment;
11406
+ const updateExportAssignment: {
11407
+ (node: ExportAssignment, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
11408
+ (node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
11409
+ };
11251
11410
  /** @deprecated Use `factory.createNamedExports` or the factory supplied by your transformation context instead. */
11252
11411
  const createNamedExports: (elements: readonly ExportSpecifier[]) => NamedExports;
11253
11412
  /** @deprecated Use `factory.updateNamedExports` or the factory supplied by your transformation context instead. */
@@ -11337,9 +11496,9 @@ declare namespace ts {
11337
11496
  /** @deprecated Use `factory.updateJsxFragment` or the factory supplied by your transformation context instead. */
11338
11497
  const updateJsxFragment: (node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment) => JsxFragment;
11339
11498
  /** @deprecated Use `factory.createJsxAttribute` or the factory supplied by your transformation context instead. */
11340
- const createJsxAttribute: (name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute;
11499
+ const createJsxAttribute: (name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute;
11341
11500
  /** @deprecated Use `factory.updateJsxAttribute` or the factory supplied by your transformation context instead. */
11342
- const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute;
11501
+ const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute;
11343
11502
  /** @deprecated Use `factory.createJsxAttributes` or the factory supplied by your transformation context instead. */
11344
11503
  const createJsxAttributes: (properties: readonly JsxAttributeLike[]) => JsxAttributes;
11345
11504
  /** @deprecated Use `factory.updateJsxAttributes` or the factory supplied by your transformation context instead. */
@@ -11551,8 +11710,12 @@ declare namespace ts {
11551
11710
  * @deprecated Use an appropriate `factory.update...` method instead, use `setCommentRange` or `setSourceMapRange`, and avoid setting `parent`.
11552
11711
  */
11553
11712
  const getMutableClone: <T extends Node>(node: T) => T;
11713
+ }
11714
+ declare namespace ts {
11554
11715
  /** @deprecated Use `isTypeAssertionExpression` instead. */
11555
11716
  const isTypeAssertion: (node: Node) => node is TypeAssertion;
11717
+ }
11718
+ declare namespace ts {
11556
11719
  /**
11557
11720
  * @deprecated Use `ts.ReadonlyESMap<K, V>` instead.
11558
11721
  */
@@ -11563,11 +11726,298 @@ declare namespace ts {
11563
11726
  */
11564
11727
  interface Map<T> extends ESMap<string, T> {
11565
11728
  }
11729
+ }
11730
+ declare namespace ts {
11566
11731
  /**
11567
11732
  * @deprecated Use `isMemberName` instead.
11568
11733
  */
11569
11734
  const isIdentifierOrPrivateIdentifier: (node: Node) => node is MemberName;
11570
11735
  }
11736
+ declare namespace ts {
11737
+ interface NodeFactory {
11738
+ /** @deprecated Use the overload that accepts 'modifiers' */
11739
+ createConstructorTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode;
11740
+ /** @deprecated Use the overload that accepts 'modifiers' */
11741
+ updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): ConstructorTypeNode;
11742
+ }
11743
+ }
11744
+ declare namespace ts {
11745
+ interface NodeFactory {
11746
+ createImportTypeNode(argument: TypeNode, assertions?: ImportTypeAssertionContainer, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
11747
+ /** @deprecated Use the overload that accepts 'assertions' */
11748
+ createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
11749
+ /** @deprecated Use the overload that accepts 'assertions' */
11750
+ updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode;
11751
+ }
11752
+ }
11753
+ declare namespace ts {
11754
+ interface NodeFactory {
11755
+ /** @deprecated Use the overload that accepts 'modifiers' */
11756
+ createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration;
11757
+ /** @deprecated Use the overload that accepts 'modifiers' */
11758
+ updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;
11759
+ }
11760
+ }
11761
+ declare namespace ts {
11762
+ interface Node {
11763
+ /** @deprecated `decorators` has been merged with `modifiers` on the declarations that support decorators. */
11764
+ readonly decorators?: NodeArray<Decorator> | undefined;
11765
+ /** @deprecated `modifiers` has been removed from `Node` and moved to the specific `Node` subtypes that support them. */
11766
+ readonly modifiers?: NodeArray<ModifierLike> | undefined;
11767
+ }
11768
+ interface PropertySignature {
11769
+ /** @deprecated A property signature cannot have an initializer */
11770
+ readonly initializer?: Expression | undefined;
11771
+ }
11772
+ interface PropertyAssignment {
11773
+ /** @deprecated A property assignment cannot have a question token */
11774
+ readonly questionToken?: QuestionToken | undefined;
11775
+ /** @deprecated A property assignment cannot have an exclamation token */
11776
+ readonly exclamationToken?: ExclamationToken | undefined;
11777
+ }
11778
+ interface ShorthandPropertyAssignment {
11779
+ /** @deprecated A shorthand property assignment cannot have modifiers */
11780
+ readonly modifiers?: NodeArray<Modifier> | undefined;
11781
+ /** @deprecated A shorthand property assignment cannot have a question token */
11782
+ readonly questionToken?: QuestionToken | undefined;
11783
+ /** @deprecated A shorthand property assignment cannot have an exclamation token */
11784
+ readonly exclamationToken?: ExclamationToken | undefined;
11785
+ }
11786
+ interface FunctionTypeNode {
11787
+ /** @deprecated A function type cannot have modifiers */
11788
+ readonly modifiers?: NodeArray<Modifier> | undefined;
11789
+ }
11790
+ interface NodeFactory {
11791
+ /**
11792
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11793
+ * `null` to the `decorators` parameter so that a future update can introduce
11794
+ * an overload that removes the parameter entirely.
11795
+ */
11796
+ createParameterDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration;
11797
+ /**
11798
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11799
+ * `null` to the `decorators` parameter so that a future update can introduce
11800
+ * an overload that removes the parameter entirely.
11801
+ */
11802
+ 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;
11803
+ /**
11804
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11805
+ * `null` to the `decorators` parameter so that a future update can introduce
11806
+ * an overload that removes the parameter entirely.
11807
+ */
11808
+ createPropertyDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
11809
+ /**
11810
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11811
+ * `null` to the `decorators` parameter so that a future update can introduce
11812
+ * an overload that removes the parameter entirely.
11813
+ */
11814
+ 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;
11815
+ /**
11816
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11817
+ * `null` to the `decorators` parameter so that a future update can introduce
11818
+ * an overload that removes the parameter entirely.
11819
+ */
11820
+ 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;
11821
+ /**
11822
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11823
+ * `null` to the `decorators` parameter so that a future update can introduce
11824
+ * an overload that removes the parameter entirely.
11825
+ */
11826
+ 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;
11827
+ /**
11828
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11829
+ * `null` to the `decorators` parameter so that a future update can introduce
11830
+ * an overload that removes the parameter entirely.
11831
+ */
11832
+ createConstructorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
11833
+ /**
11834
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11835
+ * `null` to the `decorators` parameter so that a future update can introduce
11836
+ * an overload that removes the parameter entirely.
11837
+ */
11838
+ updateConstructorDeclaration(node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
11839
+ /**
11840
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11841
+ * `null` to the `decorators` parameter so that a future update can introduce
11842
+ * an overload that removes the parameter entirely.
11843
+ */
11844
+ createGetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
11845
+ /**
11846
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11847
+ * `null` to the `decorators` parameter so that a future update can introduce
11848
+ * an overload that removes the parameter entirely.
11849
+ */
11850
+ updateGetAccessorDeclaration(node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
11851
+ /**
11852
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11853
+ * `null` to the `decorators` parameter so that a future update can introduce
11854
+ * an overload that removes the parameter entirely.
11855
+ */
11856
+ createSetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
11857
+ /**
11858
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11859
+ * `null` to the `decorators` parameter so that a future update can introduce
11860
+ * an overload that removes the parameter entirely.
11861
+ */
11862
+ updateSetAccessorDeclaration(node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
11863
+ /**
11864
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11865
+ * `null` to the `decorators` parameter so that a future update can introduce
11866
+ * an overload that removes the parameter entirely.
11867
+ */
11868
+ createIndexSignature(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
11869
+ /**
11870
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11871
+ * `null` to the `decorators` parameter so that a future update can introduce
11872
+ * an overload that removes the parameter entirely.
11873
+ */
11874
+ updateIndexSignature(node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
11875
+ /**
11876
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11877
+ * `null` to the `decorators` parameter so that a future update can introduce
11878
+ * an overload that removes the parameter entirely.
11879
+ */
11880
+ createClassStaticBlockDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration;
11881
+ /**
11882
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11883
+ * `null` to the `decorators` parameter so that a future update can introduce
11884
+ * an overload that removes the parameter entirely.
11885
+ */
11886
+ updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration;
11887
+ /**
11888
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11889
+ * `null` to the `decorators` parameter so that a future update can introduce
11890
+ * an overload that removes the parameter entirely.
11891
+ */
11892
+ 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;
11893
+ /**
11894
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11895
+ * `null` to the `decorators` parameter so that a future update can introduce
11896
+ * an overload that removes the parameter entirely.
11897
+ */
11898
+ 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;
11899
+ /**
11900
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11901
+ * `null` to the `decorators` parameter so that a future update can introduce
11902
+ * an overload that removes the parameter entirely.
11903
+ */
11904
+ 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;
11905
+ /**
11906
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11907
+ * `null` to the `decorators` parameter so that a future update can introduce
11908
+ * an overload that removes the parameter entirely.
11909
+ */
11910
+ 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;
11911
+ /**
11912
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11913
+ * `null` to the `decorators` parameter so that a future update can introduce
11914
+ * an overload that removes the parameter entirely.
11915
+ */
11916
+ 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;
11917
+ /**
11918
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11919
+ * `null` to the `decorators` parameter so that a future update can introduce
11920
+ * an overload that removes the parameter entirely.
11921
+ */
11922
+ 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;
11923
+ /**
11924
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11925
+ * `null` to the `decorators` parameter so that a future update can introduce
11926
+ * an overload that removes the parameter entirely.
11927
+ */
11928
+ createInterfaceDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
11929
+ /**
11930
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11931
+ * `null` to the `decorators` parameter so that a future update can introduce
11932
+ * an overload that removes the parameter entirely.
11933
+ */
11934
+ 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;
11935
+ /**
11936
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11937
+ * `null` to the `decorators` parameter so that a future update can introduce
11938
+ * an overload that removes the parameter entirely.
11939
+ */
11940
+ createTypeAliasDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11941
+ /**
11942
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11943
+ * `null` to the `decorators` parameter so that a future update can introduce
11944
+ * an overload that removes the parameter entirely.
11945
+ */
11946
+ updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
11947
+ /**
11948
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11949
+ * `null` to the `decorators` parameter so that a future update can introduce
11950
+ * an overload that removes the parameter entirely.
11951
+ */
11952
+ createEnumDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
11953
+ /**
11954
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11955
+ * `null` to the `decorators` parameter so that a future update can introduce
11956
+ * an overload that removes the parameter entirely.
11957
+ */
11958
+ updateEnumDeclaration(node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
11959
+ /**
11960
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11961
+ * `null` to the `decorators` parameter so that a future update can introduce
11962
+ * an overload that removes the parameter entirely.
11963
+ */
11964
+ createModuleDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration;
11965
+ /**
11966
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11967
+ * `null` to the `decorators` parameter so that a future update can introduce
11968
+ * an overload that removes the parameter entirely.
11969
+ */
11970
+ updateModuleDeclaration(node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
11971
+ /**
11972
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11973
+ * `null` to the `decorators` parameter so that a future update can introduce
11974
+ * an overload that removes the parameter entirely.
11975
+ */
11976
+ createImportEqualsDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11977
+ /**
11978
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11979
+ * `null` to the `decorators` parameter so that a future update can introduce
11980
+ * an overload that removes the parameter entirely.
11981
+ */
11982
+ updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
11983
+ /**
11984
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11985
+ * `null` to the `decorators` parameter so that a future update can introduce
11986
+ * an overload that removes the parameter entirely.
11987
+ */
11988
+ createImportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration;
11989
+ /**
11990
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11991
+ * `null` to the `decorators` parameter so that a future update can introduce
11992
+ * an overload that removes the parameter entirely.
11993
+ */
11994
+ updateImportDeclaration(node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
11995
+ /**
11996
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
11997
+ * `null` to the `decorators` parameter so that a future update can introduce
11998
+ * an overload that removes the parameter entirely.
11999
+ */
12000
+ createExportAssignment(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
12001
+ /**
12002
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
12003
+ * `null` to the `decorators` parameter so that a future update can introduce
12004
+ * an overload that removes the parameter entirely.
12005
+ */
12006
+ updateExportAssignment(node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
12007
+ /**
12008
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
12009
+ * `null` to the `decorators` parameter so that a future update can introduce
12010
+ * an overload that removes the parameter entirely.
12011
+ */
12012
+ createExportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration;
12013
+ /**
12014
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
12015
+ * `null` to the `decorators` parameter so that a future update can introduce
12016
+ * an overload that removes the parameter entirely.
12017
+ */
12018
+ updateExportDeclaration(node: ExportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, assertClause: AssertClause | undefined): ExportDeclaration;
12019
+ }
12020
+ }
11571
12021
 
11572
12022
  export = ts;
11573
12023
  export as namespace ts;