typescript 4.8.0-dev.20220609 → 4.8.0-dev.20220610

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.
@@ -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;
@@ -1443,6 +1455,7 @@ declare namespace ts {
1443
1455
  }
1444
1456
  export interface VariableStatement extends Statement {
1445
1457
  readonly kind: SyntaxKind.VariableStatement;
1458
+ readonly modifiers?: NodeArray<Modifier>;
1446
1459
  readonly declarationList: VariableDeclarationList;
1447
1460
  }
1448
1461
  export interface ExpressionStatement extends Statement {
@@ -1559,11 +1572,13 @@ declare namespace ts {
1559
1572
  }
1560
1573
  export interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement {
1561
1574
  readonly kind: SyntaxKind.ClassDeclaration;
1575
+ readonly modifiers?: NodeArray<ModifierLike>;
1562
1576
  /** May be undefined in `export default class { ... }`. */
1563
1577
  readonly name?: Identifier;
1564
1578
  }
1565
1579
  export interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression {
1566
1580
  readonly kind: SyntaxKind.ClassExpression;
1581
+ readonly modifiers?: NodeArray<ModifierLike>;
1567
1582
  }
1568
1583
  export type ClassLikeDeclaration = ClassDeclaration | ClassExpression;
1569
1584
  export interface ClassElement extends NamedDeclaration {
@@ -1573,10 +1588,11 @@ declare namespace ts {
1573
1588
  export interface TypeElement extends NamedDeclaration {
1574
1589
  _typeElementBrand: any;
1575
1590
  readonly name?: PropertyName;
1576
- readonly questionToken?: QuestionToken;
1591
+ readonly questionToken?: QuestionToken | undefined;
1577
1592
  }
1578
1593
  export interface InterfaceDeclaration extends DeclarationStatement, JSDocContainer {
1579
1594
  readonly kind: SyntaxKind.InterfaceDeclaration;
1595
+ readonly modifiers?: NodeArray<Modifier>;
1580
1596
  readonly name: Identifier;
1581
1597
  readonly typeParameters?: NodeArray<TypeParameterDeclaration>;
1582
1598
  readonly heritageClauses?: NodeArray<HeritageClause>;
@@ -1590,6 +1606,7 @@ declare namespace ts {
1590
1606
  }
1591
1607
  export interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer {
1592
1608
  readonly kind: SyntaxKind.TypeAliasDeclaration;
1609
+ readonly modifiers?: NodeArray<Modifier>;
1593
1610
  readonly name: Identifier;
1594
1611
  readonly typeParameters?: NodeArray<TypeParameterDeclaration>;
1595
1612
  readonly type: TypeNode;
@@ -1602,6 +1619,7 @@ declare namespace ts {
1602
1619
  }
1603
1620
  export interface EnumDeclaration extends DeclarationStatement, JSDocContainer {
1604
1621
  readonly kind: SyntaxKind.EnumDeclaration;
1622
+ readonly modifiers?: NodeArray<Modifier>;
1605
1623
  readonly name: Identifier;
1606
1624
  readonly members: NodeArray<EnumMember>;
1607
1625
  }
@@ -1610,6 +1628,7 @@ declare namespace ts {
1610
1628
  export interface ModuleDeclaration extends DeclarationStatement, JSDocContainer {
1611
1629
  readonly kind: SyntaxKind.ModuleDeclaration;
1612
1630
  readonly parent: ModuleBody | SourceFile;
1631
+ readonly modifiers?: NodeArray<Modifier>;
1613
1632
  readonly name: ModuleName;
1614
1633
  readonly body?: ModuleBody | JSDocNamespaceDeclaration;
1615
1634
  }
@@ -1637,6 +1656,7 @@ declare namespace ts {
1637
1656
  export interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer {
1638
1657
  readonly kind: SyntaxKind.ImportEqualsDeclaration;
1639
1658
  readonly parent: SourceFile | ModuleBlock;
1659
+ readonly modifiers?: NodeArray<Modifier>;
1640
1660
  readonly name: Identifier;
1641
1661
  readonly isTypeOnly: boolean;
1642
1662
  readonly moduleReference: ModuleReference;
@@ -1649,6 +1669,7 @@ declare namespace ts {
1649
1669
  export interface ImportDeclaration extends Statement {
1650
1670
  readonly kind: SyntaxKind.ImportDeclaration;
1651
1671
  readonly parent: SourceFile | ModuleBlock;
1672
+ readonly modifiers?: NodeArray<Modifier>;
1652
1673
  readonly importClause?: ImportClause;
1653
1674
  /** If this is not a StringLiteral it will be a grammar error. */
1654
1675
  readonly moduleSpecifier: Expression;
@@ -1693,6 +1714,7 @@ declare namespace ts {
1693
1714
  export interface ExportDeclaration extends DeclarationStatement, JSDocContainer {
1694
1715
  readonly kind: SyntaxKind.ExportDeclaration;
1695
1716
  readonly parent: SourceFile | ModuleBlock;
1717
+ readonly modifiers?: NodeArray<Modifier>;
1696
1718
  readonly isTypeOnly: boolean;
1697
1719
  /** Will not be assigned in the case of `export * from "foo";` */
1698
1720
  readonly exportClause?: NamedExportBindings;
@@ -1760,6 +1782,7 @@ declare namespace ts {
1760
1782
  export interface ExportAssignment extends DeclarationStatement, JSDocContainer {
1761
1783
  readonly kind: SyntaxKind.ExportAssignment;
1762
1784
  readonly parent: SourceFile;
1785
+ readonly modifiers?: NodeArray<Modifier>;
1763
1786
  readonly isExportEquals?: boolean;
1764
1787
  readonly expression: Expression;
1765
1788
  }
@@ -3403,39 +3426,35 @@ declare namespace ts {
3403
3426
  createComputedPropertyName(expression: Expression): ComputedPropertyName;
3404
3427
  updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName;
3405
3428
  createTypeParameterDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration;
3406
- /** @deprecated */
3407
- createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration;
3408
3429
  updateTypeParameterDeclaration(node: TypeParameterDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;
3409
- /** @deprecated */
3410
- updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;
3411
- createParameterDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration;
3412
- 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;
3413
3432
  createDecorator(expression: Expression): Decorator;
3414
3433
  updateDecorator(node: Decorator, expression: Expression): Decorator;
3415
3434
  createPropertySignature(modifiers: readonly Modifier[] | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined): PropertySignature;
3416
3435
  updatePropertySignature(node: PropertySignature, modifiers: readonly Modifier[] | undefined, name: PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined): PropertySignature;
3417
- createPropertyDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
3418
- 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;
3419
3438
  createMethodSignature(modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): MethodSignature;
3420
3439
  updateMethodSignature(node: MethodSignature, modifiers: readonly Modifier[] | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined): MethodSignature;
3421
- 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;
3422
- 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;
3423
- createConstructorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
3424
- updateConstructorDeclaration(node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
3425
- createGetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
3426
- updateGetAccessorDeclaration(node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
3427
- createSetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
3428
- 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;
3429
3448
  createCallSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): CallSignatureDeclaration;
3430
3449
  updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined): CallSignatureDeclaration;
3431
3450
  createConstructSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): ConstructSignatureDeclaration;
3432
3451
  updateConstructSignature(node: ConstructSignatureDeclaration, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined): ConstructSignatureDeclaration;
3433
- createIndexSignature(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
3434
- 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;
3435
3454
  createTemplateLiteralTypeSpan(type: TypeNode, literal: TemplateMiddle | TemplateTail): TemplateLiteralTypeSpan;
3436
3455
  updateTemplateLiteralTypeSpan(node: TemplateLiteralTypeSpan, type: TypeNode, literal: TemplateMiddle | TemplateTail): TemplateLiteralTypeSpan;
3437
- createClassStaticBlockDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration;
3438
- 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;
3439
3458
  createKeywordTypeNode<TKind extends KeywordTypeSyntaxKind>(kind: TKind): KeywordTypeNode<TKind>;
3440
3459
  createTypePredicateNode(assertsModifier: AssertsKeyword | undefined, parameterName: Identifier | ThisTypeNode | string, type: TypeNode | undefined): TypePredicateNode;
3441
3460
  updateTypePredicateNode(node: TypePredicateNode, assertsModifier: AssertsKeyword | undefined, parameterName: Identifier | ThisTypeNode, type: TypeNode | undefined): TypePredicateNode;
@@ -3444,11 +3463,7 @@ declare namespace ts {
3444
3463
  createFunctionTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): FunctionTypeNode;
3445
3464
  updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): FunctionTypeNode;
3446
3465
  createConstructorTypeNode(modifiers: readonly Modifier[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode;
3447
- /** @deprecated */
3448
- createConstructorTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode;
3449
3466
  updateConstructorTypeNode(node: ConstructorTypeNode, modifiers: readonly Modifier[] | undefined, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): ConstructorTypeNode;
3450
- /** @deprecated */
3451
- updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): ConstructorTypeNode;
3452
3467
  createTypeQueryNode(exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode;
3453
3468
  updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode;
3454
3469
  createTypeLiteralNode(members: readonly TypeElement[] | undefined): TypeLiteralNode;
@@ -3471,9 +3486,7 @@ declare namespace ts {
3471
3486
  updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode;
3472
3487
  createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode;
3473
3488
  updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode;
3474
- createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
3475
3489
  createImportTypeNode(argument: TypeNode, assertions?: ImportTypeAssertionContainer, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
3476
- updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode;
3477
3490
  updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, assertions: ImportTypeAssertionContainer | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode;
3478
3491
  createParenthesizedType(type: TypeNode): ParenthesizedTypeNode;
3479
3492
  updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode;
@@ -3553,8 +3566,8 @@ declare namespace ts {
3553
3566
  updateYieldExpression(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression | undefined): YieldExpression;
3554
3567
  createSpreadElement(expression: Expression): SpreadElement;
3555
3568
  updateSpreadElement(node: SpreadElement, expression: Expression): SpreadElement;
3556
- 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;
3557
- 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;
3558
3571
  createOmittedExpression(): OmittedExpression;
3559
3572
  createExpressionWithTypeArguments(expression: Expression, typeArguments: readonly TypeNode[] | undefined): ExpressionWithTypeArguments;
3560
3573
  updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, expression: Expression, typeArguments: readonly TypeNode[] | undefined): ExpressionWithTypeArguments;
@@ -3609,28 +3622,28 @@ declare namespace ts {
3609
3622
  updateVariableDeclaration(node: VariableDeclaration, name: BindingName, exclamationToken: ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration;
3610
3623
  createVariableDeclarationList(declarations: readonly VariableDeclaration[], flags?: NodeFlags): VariableDeclarationList;
3611
3624
  updateVariableDeclarationList(node: VariableDeclarationList, declarations: readonly VariableDeclaration[]): VariableDeclarationList;
3612
- 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;
3613
- 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;
3614
- 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;
3615
- 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;
3616
- createInterfaceDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
3617
- 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;
3618
- createTypeAliasDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
3619
- updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
3620
- createEnumDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
3621
- updateEnumDeclaration(node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
3622
- createModuleDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration;
3623
- 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;
3624
3637
  createModuleBlock(statements: readonly Statement[]): ModuleBlock;
3625
3638
  updateModuleBlock(node: ModuleBlock, statements: readonly Statement[]): ModuleBlock;
3626
3639
  createCaseBlock(clauses: readonly CaseOrDefaultClause[]): CaseBlock;
3627
3640
  updateCaseBlock(node: CaseBlock, clauses: readonly CaseOrDefaultClause[]): CaseBlock;
3628
3641
  createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration;
3629
3642
  updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, name: Identifier): NamespaceExportDeclaration;
3630
- createImportEqualsDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
3631
- updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
3632
- createImportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration;
3633
- 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;
3634
3647
  createImportClause(isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause;
3635
3648
  updateImportClause(node: ImportClause, isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause;
3636
3649
  createAssertClause(elements: NodeArray<AssertEntry>, multiLine?: boolean): AssertClause;
@@ -3647,10 +3660,10 @@ declare namespace ts {
3647
3660
  updateNamedImports(node: NamedImports, elements: readonly ImportSpecifier[]): NamedImports;
3648
3661
  createImportSpecifier(isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier;
3649
3662
  updateImportSpecifier(node: ImportSpecifier, isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier;
3650
- createExportAssignment(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
3651
- updateExportAssignment(node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
3652
- createExportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration;
3653
- 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;
3654
3667
  createNamedExports(elements: readonly ExportSpecifier[]): NamedExports;
3655
3668
  updateNamedExports(node: NamedExports, elements: readonly ExportSpecifier[]): NamedExports;
3656
3669
  createExportSpecifier(isTypeOnly: boolean, propertyName: string | Identifier | undefined, name: string | Identifier): ExportSpecifier;
@@ -4056,7 +4069,7 @@ declare namespace ts {
4056
4069
  NoSpaceIfEmpty = 524288,
4057
4070
  SingleElement = 1048576,
4058
4071
  SpaceAfterList = 2097152,
4059
- Modifiers = 262656,
4072
+ Modifiers = 2359808,
4060
4073
  HeritageClauses = 512,
4061
4074
  SingleLineTypeLiteralMembers = 768,
4062
4075
  MultiLineTypeLiteralMembers = 32897,
@@ -4351,6 +4364,8 @@ declare namespace ts {
4351
4364
  function symbolName(symbol: Symbol): string;
4352
4365
  function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | PrivateIdentifier | undefined;
4353
4366
  function getNameOfDeclaration(declaration: Declaration | Expression | undefined): DeclarationName | undefined;
4367
+ function getDecorators(node: HasDecorators): readonly Decorator[] | undefined;
4368
+ function getModifiers(node: HasModifiers): readonly Modifier[] | undefined;
4354
4369
  /**
4355
4370
  * Gets the JSDoc parameter tags for the node if present.
4356
4371
  *
@@ -4484,6 +4499,7 @@ declare namespace ts {
4484
4499
  function isClassElement(node: Node): node is ClassElement;
4485
4500
  function isClassLike(node: Node): node is ClassLikeDeclaration;
4486
4501
  function isAccessor(node: Node): node is AccessorDeclaration;
4502
+ function isModifierLike(node: Node): node is ModifierLike;
4487
4503
  function isTypeElement(node: Node): node is TypeElement;
4488
4504
  function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement;
4489
4505
  function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike;
@@ -7013,33 +7029,69 @@ declare namespace ts {
7013
7029
  (node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;
7014
7030
  };
7015
7031
  /** @deprecated Use `factory.createParameterDeclaration` or the factory supplied by your transformation context instead. */
7016
- 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;
7032
+ const createParameter: {
7033
+ (modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined): ParameterDeclaration;
7034
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined): ParameterDeclaration;
7035
+ };
7017
7036
  /** @deprecated Use `factory.updateParameterDeclaration` or the factory supplied by your transformation context instead. */
7018
- 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;
7037
+ const updateParameter: {
7038
+ (node: ParameterDeclaration, modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration;
7039
+ (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;
7040
+ };
7019
7041
  /** @deprecated Use `factory.createDecorator` or the factory supplied by your transformation context instead. */
7020
7042
  const createDecorator: (expression: Expression) => Decorator;
7021
7043
  /** @deprecated Use `factory.updateDecorator` or the factory supplied by your transformation context instead. */
7022
7044
  const updateDecorator: (node: Decorator, expression: Expression) => Decorator;
7023
7045
  /** @deprecated Use `factory.createPropertyDeclaration` or the factory supplied by your transformation context instead. */
7024
- const createProperty: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined) => PropertyDeclaration;
7046
+ const createProperty: {
7047
+ (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
7048
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
7049
+ };
7025
7050
  /** @deprecated Use `factory.updatePropertyDeclaration` or the factory supplied by your transformation context instead. */
7026
- 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;
7051
+ const updateProperty: {
7052
+ (node: PropertyDeclaration, modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
7053
+ (node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
7054
+ };
7027
7055
  /** @deprecated Use `factory.createMethodDeclaration` or the factory supplied by your transformation context instead. */
7028
- 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;
7056
+ const createMethod: {
7057
+ (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;
7058
+ (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;
7059
+ };
7029
7060
  /** @deprecated Use `factory.updateMethodDeclaration` or the factory supplied by your transformation context instead. */
7030
- 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;
7061
+ const updateMethod: {
7062
+ (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;
7063
+ (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;
7064
+ };
7031
7065
  /** @deprecated Use `factory.createConstructorDeclaration` or the factory supplied by your transformation context instead. */
7032
- const createConstructor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined) => ConstructorDeclaration;
7066
+ const createConstructor: {
7067
+ (modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
7068
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
7069
+ };
7033
7070
  /** @deprecated Use `factory.updateConstructorDeclaration` or the factory supplied by your transformation context instead. */
7034
- const updateConstructor: (node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined) => ConstructorDeclaration;
7071
+ const updateConstructor: {
7072
+ (node: ConstructorDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
7073
+ (node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
7074
+ };
7035
7075
  /** @deprecated Use `factory.createGetAccessorDeclaration` or the factory supplied by your transformation context instead. */
7036
- const createGetAccessor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => GetAccessorDeclaration;
7076
+ const createGetAccessor: {
7077
+ (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
7078
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
7079
+ };
7037
7080
  /** @deprecated Use `factory.updateGetAccessorDeclaration` or the factory supplied by your transformation context instead. */
7038
- const updateGetAccessor: (node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => GetAccessorDeclaration;
7081
+ const updateGetAccessor: {
7082
+ (node: GetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
7083
+ (node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
7084
+ };
7039
7085
  /** @deprecated Use `factory.createSetAccessorDeclaration` or the factory supplied by your transformation context instead. */
7040
- const createSetAccessor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined) => SetAccessorDeclaration;
7086
+ const createSetAccessor: {
7087
+ (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
7088
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
7089
+ };
7041
7090
  /** @deprecated Use `factory.updateSetAccessorDeclaration` or the factory supplied by your transformation context instead. */
7042
- const updateSetAccessor: (node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined) => SetAccessorDeclaration;
7091
+ const updateSetAccessor: {
7092
+ (node: SetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
7093
+ (node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
7094
+ };
7043
7095
  /** @deprecated Use `factory.createCallSignature` or the factory supplied by your transformation context instead. */
7044
7096
  const createCallSignature: (typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined) => CallSignatureDeclaration;
7045
7097
  /** @deprecated Use `factory.updateCallSignature` or the factory supplied by your transformation context instead. */
@@ -7049,7 +7101,10 @@ declare namespace ts {
7049
7101
  /** @deprecated Use `factory.updateConstructSignature` or the factory supplied by your transformation context instead. */
7050
7102
  const updateConstructSignature: (node: ConstructSignatureDeclaration, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined) => ConstructSignatureDeclaration;
7051
7103
  /** @deprecated Use `factory.updateIndexSignature` or the factory supplied by your transformation context instead. */
7052
- const updateIndexSignature: (node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode) => IndexSignatureDeclaration;
7104
+ const updateIndexSignature: {
7105
+ (node: IndexSignatureDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
7106
+ (node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
7107
+ };
7053
7108
  /** @deprecated Use `factory.createKeywordTypeNode` or the factory supplied by your transformation context instead. */
7054
7109
  const createKeywordTypeNode: <TKind extends KeywordTypeSyntaxKind>(kind: TKind) => KeywordTypeNode<TKind>;
7055
7110
  /** @deprecated Use `factory.createTypePredicateNode` or the factory supplied by your transformation context instead. */
@@ -7110,13 +7165,14 @@ declare namespace ts {
7110
7165
  const updateInferTypeNode: (node: InferTypeNode, typeParameter: TypeParameterDeclaration) => InferTypeNode;
7111
7166
  /** @deprecated Use `factory.createImportTypeNode` or the factory supplied by your transformation context instead. */
7112
7167
  const createImportTypeNode: {
7113
- (argument: TypeNode, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
7114
7168
  (argument: TypeNode, assertions?: ImportTypeAssertionContainer | undefined, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
7169
+ (argument: TypeNode, assertions?: ImportTypeAssertionContainer | undefined, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
7170
+ (argument: TypeNode, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
7115
7171
  };
7116
7172
  /** @deprecated Use `factory.updateImportTypeNode` or the factory supplied by your transformation context instead. */
7117
7173
  const updateImportTypeNode: {
7118
- (node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
7119
7174
  (node: ImportTypeNode, argument: TypeNode, assertions: ImportTypeAssertionContainer | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
7175
+ (node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode;
7120
7176
  };
7121
7177
  /** @deprecated Use `factory.createParenthesizedType` or the factory supplied by your transformation context instead. */
7122
7178
  const createParenthesizedType: (type: TypeNode) => ParenthesizedTypeNode;
@@ -7361,29 +7417,65 @@ declare namespace ts {
7361
7417
  /** @deprecated Use `factory.updateVariableDeclarationList` or the factory supplied by your transformation context instead. */
7362
7418
  const updateVariableDeclarationList: (node: VariableDeclarationList, declarations: readonly VariableDeclaration[]) => VariableDeclarationList;
7363
7419
  /** @deprecated Use `factory.createFunctionDeclaration` or the factory supplied by your transformation context instead. */
7364
- 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;
7420
+ const createFunctionDeclaration: {
7421
+ (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;
7422
+ (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;
7423
+ };
7365
7424
  /** @deprecated Use `factory.updateFunctionDeclaration` or the factory supplied by your transformation context instead. */
7366
- 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;
7425
+ const updateFunctionDeclaration: {
7426
+ (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;
7427
+ (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;
7428
+ };
7367
7429
  /** @deprecated Use `factory.createClassDeclaration` or the factory supplied by your transformation context instead. */
7368
- 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;
7430
+ const createClassDeclaration: {
7431
+ (modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
7432
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
7433
+ };
7369
7434
  /** @deprecated Use `factory.updateClassDeclaration` or the factory supplied by your transformation context instead. */
7370
- 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;
7435
+ const updateClassDeclaration: {
7436
+ (node: ClassDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
7437
+ (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;
7438
+ };
7371
7439
  /** @deprecated Use `factory.createInterfaceDeclaration` or the factory supplied by your transformation context instead. */
7372
- 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;
7440
+ const createInterfaceDeclaration: {
7441
+ (modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
7442
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
7443
+ };
7373
7444
  /** @deprecated Use `factory.updateInterfaceDeclaration` or the factory supplied by your transformation context instead. */
7374
- 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;
7445
+ const updateInterfaceDeclaration: {
7446
+ (node: InterfaceDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
7447
+ (node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
7448
+ };
7375
7449
  /** @deprecated Use `factory.createTypeAliasDeclaration` or the factory supplied by your transformation context instead. */
7376
- const createTypeAliasDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode) => TypeAliasDeclaration;
7450
+ const createTypeAliasDeclaration: {
7451
+ (modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
7452
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
7453
+ };
7377
7454
  /** @deprecated Use `factory.updateTypeAliasDeclaration` or the factory supplied by your transformation context instead. */
7378
- const updateTypeAliasDeclaration: (node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode) => TypeAliasDeclaration;
7455
+ const updateTypeAliasDeclaration: {
7456
+ (node: TypeAliasDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
7457
+ (node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
7458
+ };
7379
7459
  /** @deprecated Use `factory.createEnumDeclaration` or the factory supplied by your transformation context instead. */
7380
- const createEnumDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]) => EnumDeclaration;
7460
+ const createEnumDeclaration: {
7461
+ (modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
7462
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
7463
+ };
7381
7464
  /** @deprecated Use `factory.updateEnumDeclaration` or the factory supplied by your transformation context instead. */
7382
- const updateEnumDeclaration: (node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]) => EnumDeclaration;
7465
+ const updateEnumDeclaration: {
7466
+ (node: EnumDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
7467
+ (node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
7468
+ };
7383
7469
  /** @deprecated Use `factory.createModuleDeclaration` or the factory supplied by your transformation context instead. */
7384
- const createModuleDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined) => ModuleDeclaration;
7470
+ const createModuleDeclaration: {
7471
+ (modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined): ModuleDeclaration;
7472
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined): ModuleDeclaration;
7473
+ };
7385
7474
  /** @deprecated Use `factory.updateModuleDeclaration` or the factory supplied by your transformation context instead. */
7386
- const updateModuleDeclaration: (node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined) => ModuleDeclaration;
7475
+ const updateModuleDeclaration: {
7476
+ (node: ModuleDeclaration, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
7477
+ (node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
7478
+ };
7387
7479
  /** @deprecated Use `factory.createModuleBlock` or the factory supplied by your transformation context instead. */
7388
7480
  const createModuleBlock: (statements: readonly Statement[]) => ModuleBlock;
7389
7481
  /** @deprecated Use `factory.updateModuleBlock` or the factory supplied by your transformation context instead. */
@@ -7397,13 +7489,25 @@ declare namespace ts {
7397
7489
  /** @deprecated Use `factory.updateNamespaceExportDeclaration` or the factory supplied by your transformation context instead. */
7398
7490
  const updateNamespaceExportDeclaration: (node: NamespaceExportDeclaration, name: Identifier) => NamespaceExportDeclaration;
7399
7491
  /** @deprecated Use `factory.createImportEqualsDeclaration` or the factory supplied by your transformation context instead. */
7400
- const createImportEqualsDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference) => ImportEqualsDeclaration;
7492
+ const createImportEqualsDeclaration: {
7493
+ (modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
7494
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
7495
+ };
7401
7496
  /** @deprecated Use `factory.updateImportEqualsDeclaration` or the factory supplied by your transformation context instead. */
7402
- const updateImportEqualsDeclaration: (node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference) => ImportEqualsDeclaration;
7497
+ const updateImportEqualsDeclaration: {
7498
+ (node: ImportEqualsDeclaration, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
7499
+ (node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
7500
+ };
7403
7501
  /** @deprecated Use `factory.createImportDeclaration` or the factory supplied by your transformation context instead. */
7404
- const createImportDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined) => ImportDeclaration;
7502
+ const createImportDeclaration: {
7503
+ (modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined): ImportDeclaration;
7504
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined): ImportDeclaration;
7505
+ };
7405
7506
  /** @deprecated Use `factory.updateImportDeclaration` or the factory supplied by your transformation context instead. */
7406
- const updateImportDeclaration: (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration;
7507
+ const updateImportDeclaration: {
7508
+ (node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
7509
+ (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
7510
+ };
7407
7511
  /** @deprecated Use `factory.createNamespaceImport` or the factory supplied by your transformation context instead. */
7408
7512
  const createNamespaceImport: (name: Identifier) => NamespaceImport;
7409
7513
  /** @deprecated Use `factory.updateNamespaceImport` or the factory supplied by your transformation context instead. */
@@ -7417,9 +7521,15 @@ declare namespace ts {
7417
7521
  /** @deprecated Use `factory.updateImportSpecifier` or the factory supplied by your transformation context instead. */
7418
7522
  const updateImportSpecifier: (node: ImportSpecifier, isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier) => ImportSpecifier;
7419
7523
  /** @deprecated Use `factory.createExportAssignment` or the factory supplied by your transformation context instead. */
7420
- const createExportAssignment: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression) => ExportAssignment;
7524
+ const createExportAssignment: {
7525
+ (modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
7526
+ (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
7527
+ };
7421
7528
  /** @deprecated Use `factory.updateExportAssignment` or the factory supplied by your transformation context instead. */
7422
- const updateExportAssignment: (node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression) => ExportAssignment;
7529
+ const updateExportAssignment: {
7530
+ (node: ExportAssignment, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
7531
+ (node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
7532
+ };
7423
7533
  /** @deprecated Use `factory.createNamedExports` or the factory supplied by your transformation context instead. */
7424
7534
  const createNamedExports: (elements: readonly ExportSpecifier[]) => NamedExports;
7425
7535
  /** @deprecated Use `factory.updateNamedExports` or the factory supplied by your transformation context instead. */
@@ -7723,8 +7833,12 @@ declare namespace ts {
7723
7833
  * @deprecated Use an appropriate `factory.update...` method instead, use `setCommentRange` or `setSourceMapRange`, and avoid setting `parent`.
7724
7834
  */
7725
7835
  const getMutableClone: <T extends Node>(node: T) => T;
7836
+ }
7837
+ declare namespace ts {
7726
7838
  /** @deprecated Use `isTypeAssertionExpression` instead. */
7727
7839
  const isTypeAssertion: (node: Node) => node is TypeAssertion;
7840
+ }
7841
+ declare namespace ts {
7728
7842
  /**
7729
7843
  * @deprecated Use `ts.ReadonlyESMap<K, V>` instead.
7730
7844
  */
@@ -7735,10 +7849,297 @@ declare namespace ts {
7735
7849
  */
7736
7850
  interface Map<T> extends ESMap<string, T> {
7737
7851
  }
7852
+ }
7853
+ declare namespace ts {
7738
7854
  /**
7739
7855
  * @deprecated Use `isMemberName` instead.
7740
7856
  */
7741
7857
  const isIdentifierOrPrivateIdentifier: (node: Node) => node is MemberName;
7742
7858
  }
7859
+ declare namespace ts {
7860
+ interface NodeFactory {
7861
+ /** @deprecated Use the overload that accepts 'modifiers' */
7862
+ createConstructorTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode;
7863
+ /** @deprecated Use the overload that accepts 'modifiers' */
7864
+ updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): ConstructorTypeNode;
7865
+ }
7866
+ }
7867
+ declare namespace ts {
7868
+ interface NodeFactory {
7869
+ createImportTypeNode(argument: TypeNode, assertions?: ImportTypeAssertionContainer, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
7870
+ /** @deprecated Use the overload that accepts 'assertions' */
7871
+ createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;
7872
+ /** @deprecated Use the overload that accepts 'assertions' */
7873
+ updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode;
7874
+ }
7875
+ }
7876
+ declare namespace ts {
7877
+ interface NodeFactory {
7878
+ /** @deprecated Use the overload that accepts 'modifiers' */
7879
+ createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration;
7880
+ /** @deprecated Use the overload that accepts 'modifiers' */
7881
+ updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;
7882
+ }
7883
+ }
7884
+ declare namespace ts {
7885
+ interface Node {
7886
+ /** @deprecated `decorators` has been merged with `modifiers` on the declarations that support decorators. */
7887
+ readonly decorators?: NodeArray<Decorator> | undefined;
7888
+ /** @deprecated `modifiers` has been removed from `Node` and moved to the specific `Node` subtypes that support them. */
7889
+ readonly modifiers?: NodeArray<ModifierLike> | undefined;
7890
+ }
7891
+ interface PropertySignature {
7892
+ /** @deprecated A property signature cannot have an initializer */
7893
+ readonly initializer?: Expression | undefined;
7894
+ }
7895
+ interface PropertyAssignment {
7896
+ /** @deprecated A property assignment cannot have a question token */
7897
+ readonly questionToken?: QuestionToken | undefined;
7898
+ /** @deprecated A property assignment cannot have an exclamation token */
7899
+ readonly exclamationToken?: ExclamationToken | undefined;
7900
+ }
7901
+ interface ShorthandPropertyAssignment {
7902
+ /** @deprecated A shorthand property assignment cannot have modifiers */
7903
+ readonly modifiers?: NodeArray<Modifier> | undefined;
7904
+ /** @deprecated A shorthand property assignment cannot have a question token */
7905
+ readonly questionToken?: QuestionToken | undefined;
7906
+ /** @deprecated A shorthand property assignment cannot have an exclamation token */
7907
+ readonly exclamationToken?: ExclamationToken | undefined;
7908
+ }
7909
+ interface FunctionTypeNode {
7910
+ /** @deprecated A function type cannot have modifiers */
7911
+ readonly modifiers?: NodeArray<Modifier> | undefined;
7912
+ }
7913
+ interface NodeFactory {
7914
+ /**
7915
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7916
+ * `null` to the `decorators` parameter so that a future update can introduce
7917
+ * an overload that removes the parameter entirely.
7918
+ */
7919
+ createParameterDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration;
7920
+ /**
7921
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7922
+ * `null` to the `decorators` parameter so that a future update can introduce
7923
+ * an overload that removes the parameter entirely.
7924
+ */
7925
+ 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;
7926
+ /**
7927
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7928
+ * `null` to the `decorators` parameter so that a future update can introduce
7929
+ * an overload that removes the parameter entirely.
7930
+ */
7931
+ createPropertyDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;
7932
+ /**
7933
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7934
+ * `null` to the `decorators` parameter so that a future update can introduce
7935
+ * an overload that removes the parameter entirely.
7936
+ */
7937
+ 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;
7938
+ /**
7939
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7940
+ * `null` to the `decorators` parameter so that a future update can introduce
7941
+ * an overload that removes the parameter entirely.
7942
+ */
7943
+ 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;
7944
+ /**
7945
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7946
+ * `null` to the `decorators` parameter so that a future update can introduce
7947
+ * an overload that removes the parameter entirely.
7948
+ */
7949
+ 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;
7950
+ /**
7951
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7952
+ * `null` to the `decorators` parameter so that a future update can introduce
7953
+ * an overload that removes the parameter entirely.
7954
+ */
7955
+ createConstructorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
7956
+ /**
7957
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7958
+ * `null` to the `decorators` parameter so that a future update can introduce
7959
+ * an overload that removes the parameter entirely.
7960
+ */
7961
+ updateConstructorDeclaration(node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;
7962
+ /**
7963
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7964
+ * `null` to the `decorators` parameter so that a future update can introduce
7965
+ * an overload that removes the parameter entirely.
7966
+ */
7967
+ createGetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
7968
+ /**
7969
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7970
+ * `null` to the `decorators` parameter so that a future update can introduce
7971
+ * an overload that removes the parameter entirely.
7972
+ */
7973
+ updateGetAccessorDeclaration(node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;
7974
+ /**
7975
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7976
+ * `null` to the `decorators` parameter so that a future update can introduce
7977
+ * an overload that removes the parameter entirely.
7978
+ */
7979
+ createSetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
7980
+ /**
7981
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7982
+ * `null` to the `decorators` parameter so that a future update can introduce
7983
+ * an overload that removes the parameter entirely.
7984
+ */
7985
+ updateSetAccessorDeclaration(node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;
7986
+ /**
7987
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7988
+ * `null` to the `decorators` parameter so that a future update can introduce
7989
+ * an overload that removes the parameter entirely.
7990
+ */
7991
+ createIndexSignature(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
7992
+ /**
7993
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
7994
+ * `null` to the `decorators` parameter so that a future update can introduce
7995
+ * an overload that removes the parameter entirely.
7996
+ */
7997
+ updateIndexSignature(node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
7998
+ /**
7999
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8000
+ * `null` to the `decorators` parameter so that a future update can introduce
8001
+ * an overload that removes the parameter entirely.
8002
+ */
8003
+ createClassStaticBlockDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration;
8004
+ /**
8005
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8006
+ * `null` to the `decorators` parameter so that a future update can introduce
8007
+ * an overload that removes the parameter entirely.
8008
+ */
8009
+ updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration;
8010
+ /**
8011
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8012
+ * `null` to the `decorators` parameter so that a future update can introduce
8013
+ * an overload that removes the parameter entirely.
8014
+ */
8015
+ 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;
8016
+ /**
8017
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8018
+ * `null` to the `decorators` parameter so that a future update can introduce
8019
+ * an overload that removes the parameter entirely.
8020
+ */
8021
+ 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;
8022
+ /**
8023
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8024
+ * `null` to the `decorators` parameter so that a future update can introduce
8025
+ * an overload that removes the parameter entirely.
8026
+ */
8027
+ 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;
8028
+ /**
8029
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8030
+ * `null` to the `decorators` parameter so that a future update can introduce
8031
+ * an overload that removes the parameter entirely.
8032
+ */
8033
+ 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;
8034
+ /**
8035
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8036
+ * `null` to the `decorators` parameter so that a future update can introduce
8037
+ * an overload that removes the parameter entirely.
8038
+ */
8039
+ 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;
8040
+ /**
8041
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8042
+ * `null` to the `decorators` parameter so that a future update can introduce
8043
+ * an overload that removes the parameter entirely.
8044
+ */
8045
+ 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;
8046
+ /**
8047
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8048
+ * `null` to the `decorators` parameter so that a future update can introduce
8049
+ * an overload that removes the parameter entirely.
8050
+ */
8051
+ createInterfaceDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
8052
+ /**
8053
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8054
+ * `null` to the `decorators` parameter so that a future update can introduce
8055
+ * an overload that removes the parameter entirely.
8056
+ */
8057
+ 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;
8058
+ /**
8059
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8060
+ * `null` to the `decorators` parameter so that a future update can introduce
8061
+ * an overload that removes the parameter entirely.
8062
+ */
8063
+ createTypeAliasDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
8064
+ /**
8065
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8066
+ * `null` to the `decorators` parameter so that a future update can introduce
8067
+ * an overload that removes the parameter entirely.
8068
+ */
8069
+ updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
8070
+ /**
8071
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8072
+ * `null` to the `decorators` parameter so that a future update can introduce
8073
+ * an overload that removes the parameter entirely.
8074
+ */
8075
+ createEnumDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;
8076
+ /**
8077
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8078
+ * `null` to the `decorators` parameter so that a future update can introduce
8079
+ * an overload that removes the parameter entirely.
8080
+ */
8081
+ updateEnumDeclaration(node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
8082
+ /**
8083
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8084
+ * `null` to the `decorators` parameter so that a future update can introduce
8085
+ * an overload that removes the parameter entirely.
8086
+ */
8087
+ createModuleDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration;
8088
+ /**
8089
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8090
+ * `null` to the `decorators` parameter so that a future update can introduce
8091
+ * an overload that removes the parameter entirely.
8092
+ */
8093
+ updateModuleDeclaration(node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;
8094
+ /**
8095
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8096
+ * `null` to the `decorators` parameter so that a future update can introduce
8097
+ * an overload that removes the parameter entirely.
8098
+ */
8099
+ createImportEqualsDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
8100
+ /**
8101
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8102
+ * `null` to the `decorators` parameter so that a future update can introduce
8103
+ * an overload that removes the parameter entirely.
8104
+ */
8105
+ updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
8106
+ /**
8107
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8108
+ * `null` to the `decorators` parameter so that a future update can introduce
8109
+ * an overload that removes the parameter entirely.
8110
+ */
8111
+ createImportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration;
8112
+ /**
8113
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8114
+ * `null` to the `decorators` parameter so that a future update can introduce
8115
+ * an overload that removes the parameter entirely.
8116
+ */
8117
+ updateImportDeclaration(node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration;
8118
+ /**
8119
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8120
+ * `null` to the `decorators` parameter so that a future update can introduce
8121
+ * an overload that removes the parameter entirely.
8122
+ */
8123
+ createExportAssignment(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;
8124
+ /**
8125
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8126
+ * `null` to the `decorators` parameter so that a future update can introduce
8127
+ * an overload that removes the parameter entirely.
8128
+ */
8129
+ updateExportAssignment(node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment;
8130
+ /**
8131
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8132
+ * `null` to the `decorators` parameter so that a future update can introduce
8133
+ * an overload that removes the parameter entirely.
8134
+ */
8135
+ createExportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration;
8136
+ /**
8137
+ * @deprecated Decorators have been combined with modifiers. Callers should pass
8138
+ * `null` to the `decorators` parameter so that a future update can introduce
8139
+ * an overload that removes the parameter entirely.
8140
+ */
8141
+ updateExportDeclaration(node: ExportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, assertClause: AssertClause | undefined): ExportDeclaration;
8142
+ }
8143
+ }
7743
8144
 
7744
8145
  export = ts;