@babel/traverse 8.0.0-alpha.12 → 8.0.0-alpha.13

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.
package/lib/index.d.ts CHANGED
@@ -53,8 +53,8 @@ declare class Scope {
53
53
  uid: number;
54
54
  path: NodePath_Final;
55
55
  block: t.Pattern | t.Scopable;
56
- labels: Map<any, any>;
57
56
  inited: boolean;
57
+ labels: Map<string, NodePath_Final<t.LabeledStatement>>;
58
58
  bindings: {
59
59
  [name: string]: Binding;
60
60
  };
@@ -85,10 +85,6 @@ declare class Scope {
85
85
  */
86
86
  static contextVariables: string[];
87
87
  get parent(): Scope;
88
- get parentBlock(): t.Node;
89
- get hub(): HubInterface;
90
- traverse<S>(node: t.Node | t.Node[], opts: TraverseOptions<S>, state: S): void;
91
- traverse(node: t.Node | t.Node[], opts?: TraverseOptions, state?: any): void;
92
88
  /**
93
89
  * Generate a unique identifier and add it to the current scope.
94
90
  */
@@ -101,10 +97,6 @@ declare class Scope {
101
97
  * Generate a unique `_id1` binding.
102
98
  */
103
99
  generateUid(name?: string): string;
104
- /**
105
- * Generate an `_id1`.
106
- */
107
- _generateUid(name: string, i: number): string;
108
100
  generateUidBasedOnNode(node: t.Node, defaultName?: string): string;
109
101
  /**
110
102
  * Generate a unique identifier based on a node.
@@ -126,12 +118,9 @@ declare class Scope {
126
118
  maybeGenerateMemoised(node: t.Node, dontPush?: boolean): t.Identifier;
127
119
  checkBlockScopedCollisions(local: Binding, kind: BindingKind, name: string, id: any): void;
128
120
  rename(oldName: string, newName?: string): void;
129
- /** @deprecated Not used in our codebase */
130
- _renameFromMap(map: Record<string | symbol, unknown>, oldName: string | symbol, newName: string | symbol, value: unknown): void;
131
121
  dump(): void;
132
- toArray(node: t.Node, i?: number | boolean, arrayLikeIsIterable?: boolean | void): t.ArrayExpression | t.CallExpression | t.Identifier;
133
122
  hasLabel(name: string): boolean;
134
- getLabel(name: string): any;
123
+ getLabel(name: string): NodePath<t.LabeledStatement>;
135
124
  registerLabel(path: NodePath_Final<t.LabeledStatement>): void;
136
125
  registerDeclaration(path: NodePath_Final): void;
137
126
  buildUndefinedNode(): t.UnaryExpression;
@@ -158,7 +147,7 @@ declare class Scope {
158
147
  init(): void;
159
148
  crawl(): void;
160
149
  push(opts: {
161
- id: t.LVal;
150
+ id: t.ArrayPattern | t.Identifier | t.ObjectPattern;
162
151
  init?: t.Expression;
163
152
  unique?: boolean;
164
153
  _blockHoist?: number | undefined;
@@ -187,10 +176,6 @@ declare class Scope {
187
176
  * Walks the scope tree and gathers **all** bindings.
188
177
  */
189
178
  getAllBindings(): Record<string, Binding>;
190
- /**
191
- * Walks the scope tree and gathers all declarations of `kind`.
192
- */
193
- getAllBindingsOfKind(...kinds: string[]): Record<string, Binding>;
194
179
  bindingIdentifierEquals(name: string, node: t.Node): boolean;
195
180
  getBinding(name: string): Binding | undefined;
196
181
  getOwnBinding(name: string): Binding | undefined;
@@ -324,7 +309,6 @@ interface ExplVisitorBase<S> {
324
309
  ConditionalExpression?: ExplVisitNode<S, t.ConditionalExpression>;
325
310
  ContinueStatement?: ExplVisitNode<S, t.ContinueStatement>;
326
311
  DebuggerStatement?: ExplVisitNode<S, t.DebuggerStatement>;
327
- DecimalLiteral?: ExplVisitNode<S, t.DecimalLiteral>;
328
312
  DeclareClass?: ExplVisitNode<S, t.DeclareClass>;
329
313
  DeclareExportAllDeclaration?: ExplVisitNode<S, t.DeclareExportAllDeclaration>;
330
314
  DeclareExportDeclaration?: ExplVisitNode<S, t.DeclareExportDeclaration>;
@@ -462,6 +446,7 @@ interface ExplVisitorBase<S> {
462
446
  TSBigIntKeyword?: ExplVisitNode<S, t.TSBigIntKeyword>;
463
447
  TSBooleanKeyword?: ExplVisitNode<S, t.TSBooleanKeyword>;
464
448
  TSCallSignatureDeclaration?: ExplVisitNode<S, t.TSCallSignatureDeclaration>;
449
+ TSClassImplements?: ExplVisitNode<S, t.TSClassImplements>;
465
450
  TSConditionalType?: ExplVisitNode<S, t.TSConditionalType>;
466
451
  TSConstructSignatureDeclaration?: ExplVisitNode<
467
452
  S,
@@ -473,10 +458,6 @@ interface ExplVisitorBase<S> {
473
458
  TSEnumDeclaration?: ExplVisitNode<S, t.TSEnumDeclaration>;
474
459
  TSEnumMember?: ExplVisitNode<S, t.TSEnumMember>;
475
460
  TSExportAssignment?: ExplVisitNode<S, t.TSExportAssignment>;
476
- TSExpressionWithTypeArguments?: ExplVisitNode<
477
- S,
478
- t.TSExpressionWithTypeArguments
479
- >;
480
461
  TSExternalModuleReference?: ExplVisitNode<S, t.TSExternalModuleReference>;
481
462
  TSFunctionType?: ExplVisitNode<S, t.TSFunctionType>;
482
463
  TSImportEqualsDeclaration?: ExplVisitNode<S, t.TSImportEqualsDeclaration>;
@@ -487,6 +468,7 @@ interface ExplVisitorBase<S> {
487
468
  TSInstantiationExpression?: ExplVisitNode<S, t.TSInstantiationExpression>;
488
469
  TSInterfaceBody?: ExplVisitNode<S, t.TSInterfaceBody>;
489
470
  TSInterfaceDeclaration?: ExplVisitNode<S, t.TSInterfaceDeclaration>;
471
+ TSInterfaceHeritage?: ExplVisitNode<S, t.TSInterfaceHeritage>;
490
472
  TSIntersectionType?: ExplVisitNode<S, t.TSIntersectionType>;
491
473
  TSIntrinsicKeyword?: ExplVisitNode<S, t.TSIntrinsicKeyword>;
492
474
  TSLiteralType?: ExplVisitNode<S, t.TSLiteralType>;
@@ -595,7 +577,6 @@ interface VisitorBaseNodes<S> {
595
577
  ConditionalExpression?: VisitNode<S, t.ConditionalExpression>;
596
578
  ContinueStatement?: VisitNode<S, t.ContinueStatement>;
597
579
  DebuggerStatement?: VisitNode<S, t.DebuggerStatement>;
598
- DecimalLiteral?: VisitNode<S, t.DecimalLiteral>;
599
580
  DeclareClass?: VisitNode<S, t.DeclareClass>;
600
581
  DeclareExportAllDeclaration?: VisitNode<S, t.DeclareExportAllDeclaration>;
601
582
  DeclareExportDeclaration?: VisitNode<S, t.DeclareExportDeclaration>;
@@ -730,6 +711,7 @@ interface VisitorBaseNodes<S> {
730
711
  TSBigIntKeyword?: VisitNode<S, t.TSBigIntKeyword>;
731
712
  TSBooleanKeyword?: VisitNode<S, t.TSBooleanKeyword>;
732
713
  TSCallSignatureDeclaration?: VisitNode<S, t.TSCallSignatureDeclaration>;
714
+ TSClassImplements?: VisitNode<S, t.TSClassImplements>;
733
715
  TSConditionalType?: VisitNode<S, t.TSConditionalType>;
734
716
  TSConstructSignatureDeclaration?: VisitNode<
735
717
  S,
@@ -741,7 +723,6 @@ interface VisitorBaseNodes<S> {
741
723
  TSEnumDeclaration?: VisitNode<S, t.TSEnumDeclaration>;
742
724
  TSEnumMember?: VisitNode<S, t.TSEnumMember>;
743
725
  TSExportAssignment?: VisitNode<S, t.TSExportAssignment>;
744
- TSExpressionWithTypeArguments?: VisitNode<S, t.TSExpressionWithTypeArguments>;
745
726
  TSExternalModuleReference?: VisitNode<S, t.TSExternalModuleReference>;
746
727
  TSFunctionType?: VisitNode<S, t.TSFunctionType>;
747
728
  TSImportEqualsDeclaration?: VisitNode<S, t.TSImportEqualsDeclaration>;
@@ -752,6 +733,7 @@ interface VisitorBaseNodes<S> {
752
733
  TSInstantiationExpression?: VisitNode<S, t.TSInstantiationExpression>;
753
734
  TSInterfaceBody?: VisitNode<S, t.TSInterfaceBody>;
754
735
  TSInterfaceDeclaration?: VisitNode<S, t.TSInterfaceDeclaration>;
736
+ TSInterfaceHeritage?: VisitNode<S, t.TSInterfaceHeritage>;
755
737
  TSIntersectionType?: VisitNode<S, t.TSIntersectionType>;
756
738
  TSIntrinsicKeyword?: VisitNode<S, t.TSIntrinsicKeyword>;
757
739
  TSLiteralType?: VisitNode<S, t.TSLiteralType>;
@@ -987,7 +969,7 @@ declare function replaceWithMultiple(this: NodePath_Final, nodes: t.Node | t.Nod
987
969
  * transforming ASTs is an antipattern and SHOULD NOT be encouraged. Even if it's
988
970
  * easier to use, your transforms will be extremely brittle.
989
971
  */
990
- declare function replaceWithSourceString(this: NodePath_Final, replacement: string): [NodePath<t.ArrayExpression> | NodePath<t.ArrowFunctionExpression> | NodePath<t.AssignmentExpression> | NodePath<t.AwaitExpression> | NodePath<t.BigIntLiteral> | NodePath<t.BinaryExpression> | NodePath<t.BindExpression> | NodePath<t.BooleanLiteral> | NodePath<t.CallExpression> | NodePath<t.ClassExpression> | NodePath<t.ConditionalExpression> | NodePath<t.DecimalLiteral> | NodePath<t.DoExpression> | NodePath<t.FunctionExpression> | NodePath<t.Identifier> | NodePath<t.Import> | NodePath<t.ImportExpression> | NodePath<t.JSXElement> | NodePath<t.JSXFragment> | NodePath<t.LogicalExpression> | NodePath<t.MemberExpression> | NodePath<t.MetaProperty> | NodePath<t.ModuleExpression> | NodePath<t.NewExpression> | NodePath<t.NullLiteral> | NodePath<t.NumericLiteral> | NodePath<t.ObjectExpression> | NodePath<t.OptionalCallExpression> | NodePath<t.OptionalMemberExpression> | NodePath<t.ParenthesizedExpression> | NodePath<t.PipelineBareFunction> | NodePath<t.PipelinePrimaryTopicReference> | NodePath<t.PipelineTopicExpression> | NodePath<t.RecordExpression> | NodePath<t.RegExpLiteral> | NodePath<t.SequenceExpression> | NodePath<t.StringLiteral> | NodePath<t.TSAsExpression> | NodePath<t.TSInstantiationExpression> | NodePath<t.TSNonNullExpression> | NodePath<t.TSSatisfiesExpression> | NodePath<t.TSTypeAssertion> | NodePath<t.TaggedTemplateExpression> | NodePath<t.TemplateLiteral> | NodePath<t.ThisExpression> | NodePath<t.TopicReference> | NodePath<t.TupleExpression> | NodePath<t.TypeCastExpression> | NodePath<t.UnaryExpression> | NodePath<t.UpdateExpression> | NodePath<t.YieldExpression>];
972
+ declare function replaceWithSourceString(this: NodePath_Final, replacement: string): [NodePath<t.Identifier> | NodePath<t.ArrayExpression> | NodePath<t.ArrowFunctionExpression> | NodePath<t.AssignmentExpression> | NodePath<t.AwaitExpression> | NodePath<t.BigIntLiteral> | NodePath<t.BinaryExpression> | NodePath<t.BindExpression> | NodePath<t.BooleanLiteral> | NodePath<t.CallExpression> | NodePath<t.ClassExpression> | NodePath<t.ConditionalExpression> | NodePath<t.DoExpression> | NodePath<t.FunctionExpression> | NodePath<t.Import> | NodePath<t.ImportExpression> | NodePath<t.JSXElement> | NodePath<t.JSXFragment> | NodePath<t.LogicalExpression> | NodePath<t.MemberExpression> | NodePath<t.MetaProperty> | NodePath<t.ModuleExpression> | NodePath<t.NewExpression> | NodePath<t.NullLiteral> | NodePath<t.NumericLiteral> | NodePath<t.ObjectExpression> | NodePath<t.OptionalCallExpression> | NodePath<t.OptionalMemberExpression> | NodePath<t.ParenthesizedExpression> | NodePath<t.PipelineBareFunction> | NodePath<t.PipelinePrimaryTopicReference> | NodePath<t.PipelineTopicExpression> | NodePath<t.RecordExpression> | NodePath<t.RegExpLiteral> | NodePath<t.SequenceExpression> | NodePath<t.StringLiteral> | NodePath<t.TSAsExpression> | NodePath<t.TSInstantiationExpression> | NodePath<t.TSNonNullExpression> | NodePath<t.TSSatisfiesExpression> | NodePath<t.TSTypeAssertion> | NodePath<t.TaggedTemplateExpression> | NodePath<t.TemplateLiteral> | NodePath<t.ThisExpression> | NodePath<t.TopicReference> | NodePath<t.TupleExpression> | NodePath<t.TypeCastExpression> | NodePath<t.UnaryExpression> | NodePath<t.UpdateExpression> | NodePath<t.YieldExpression>];
991
973
  /**
992
974
  * Replace the current node with another.
993
975
  */
@@ -998,7 +980,7 @@ declare function replaceWith<R extends NodePath_Final>(this: NodePath_Final, rep
998
980
  * into expressions. This method retains completion records which is
999
981
  * extremely important to retain original semantics.
1000
982
  */
1001
- declare function replaceExpressionWithStatements(this: NodePath_Final, nodes: Array<t.Statement>): (NodePath<t.BlockStatement> | NodePath<t.BreakStatement> | NodePath<t.ClassDeclaration> | NodePath<t.ContinueStatement> | NodePath<t.DebuggerStatement> | NodePath<t.DeclareClass> | NodePath<t.DeclareExportAllDeclaration> | NodePath<t.DeclareExportDeclaration> | NodePath<t.DeclareFunction> | NodePath<t.DeclareInterface> | NodePath<t.DeclareModule> | NodePath<t.DeclareModuleExports> | NodePath<t.DeclareOpaqueType> | NodePath<t.DeclareTypeAlias> | NodePath<t.DeclareVariable> | NodePath<t.DoWhileStatement> | NodePath<t.EmptyStatement> | NodePath<t.EnumDeclaration> | NodePath<t.ExportAllDeclaration> | NodePath<t.ExportDefaultDeclaration> | NodePath<t.ExportNamedDeclaration> | NodePath<t.ExpressionStatement> | NodePath<t.ForInStatement> | NodePath<t.ForOfStatement> | NodePath<t.ForStatement> | NodePath<t.FunctionDeclaration> | NodePath<t.IfStatement> | NodePath<t.ImportDeclaration> | NodePath<t.InterfaceDeclaration> | NodePath<t.LabeledStatement> | NodePath<t.OpaqueType> | NodePath<t.ReturnStatement> | NodePath<t.SwitchStatement> | NodePath<t.TSDeclareFunction> | NodePath<t.TSEnumDeclaration> | NodePath<t.TSExportAssignment> | NodePath<t.TSImportEqualsDeclaration> | NodePath<t.TSInterfaceDeclaration> | NodePath<t.TSModuleDeclaration> | NodePath<t.TSNamespaceExportDeclaration> | NodePath<t.TSTypeAliasDeclaration> | NodePath<t.ThrowStatement> | NodePath<t.TryStatement> | NodePath<t.TypeAlias> | NodePath<t.VariableDeclaration> | NodePath<t.WhileStatement> | NodePath<t.WithStatement>)[] | (NodePath<t.ArrayExpression> | NodePath<t.ArrowFunctionExpression> | NodePath<t.AssignmentExpression> | NodePath<t.AwaitExpression> | NodePath<t.BigIntLiteral> | NodePath<t.BinaryExpression> | NodePath<t.BindExpression> | NodePath<t.BooleanLiteral> | NodePath<t.CallExpression> | NodePath<t.ClassExpression> | NodePath<t.ConditionalExpression> | NodePath<t.DecimalLiteral> | NodePath<t.DoExpression> | NodePath<t.FunctionExpression> | NodePath<t.Identifier> | NodePath<t.Import> | NodePath<t.ImportExpression> | NodePath<t.JSXElement> | NodePath<t.JSXFragment> | NodePath<t.LogicalExpression> | NodePath<t.MemberExpression> | NodePath<t.MetaProperty> | NodePath<t.ModuleExpression> | NodePath<t.NewExpression> | NodePath<t.NullLiteral> | NodePath<t.NumericLiteral> | NodePath<t.ObjectExpression> | NodePath<t.OptionalCallExpression> | NodePath<t.OptionalMemberExpression> | NodePath<t.ParenthesizedExpression> | NodePath<t.PipelineBareFunction> | NodePath<t.PipelinePrimaryTopicReference> | NodePath<t.PipelineTopicExpression> | NodePath<t.RecordExpression> | NodePath<t.RegExpLiteral> | NodePath<t.SequenceExpression> | NodePath<t.StringLiteral> | NodePath<t.TSAnyKeyword> | NodePath<t.TSArrayType> | NodePath<t.TSAsExpression> | NodePath<t.TSBigIntKeyword> | NodePath<t.TSBooleanKeyword> | NodePath<t.TSConditionalType> | NodePath<t.TSConstructorType> | NodePath<t.TSExpressionWithTypeArguments> | NodePath<t.TSFunctionType> | NodePath<t.TSImportType> | NodePath<t.TSIndexedAccessType> | NodePath<t.TSInferType> | NodePath<t.TSInstantiationExpression> | NodePath<t.TSIntersectionType> | NodePath<t.TSIntrinsicKeyword> | NodePath<t.TSLiteralType> | NodePath<t.TSMappedType> | NodePath<t.TSNeverKeyword> | NodePath<t.TSNonNullExpression> | NodePath<t.TSNullKeyword> | NodePath<t.TSNumberKeyword> | NodePath<t.TSObjectKeyword> | NodePath<t.TSOptionalType> | NodePath<t.TSParenthesizedType> | NodePath<t.TSRestType> | NodePath<t.TSSatisfiesExpression> | NodePath<t.TSStringKeyword> | NodePath<t.TSSymbolKeyword> | NodePath<t.TSThisType> | NodePath<t.TSTupleType> | NodePath<t.TSTypeAssertion> | NodePath<t.TSTypeLiteral> | NodePath<t.TSTypeOperator> | NodePath<t.TSTypePredicate> | NodePath<t.TSTypeQuery> | NodePath<t.TSTypeReference> | NodePath<t.TSUndefinedKeyword> | NodePath<t.TSUnionType> | NodePath<t.TSUnknownKeyword> | NodePath<t.TSVoidKeyword> | NodePath<t.TaggedTemplateExpression> | NodePath<t.TemplateLiteral> | NodePath<t.ThisExpression> | NodePath<t.TopicReference> | NodePath<t.TupleExpression> | NodePath<t.TypeCastExpression> | NodePath<t.UnaryExpression> | NodePath<t.UpdateExpression> | NodePath<t.YieldExpression>)[];
983
+ declare function replaceExpressionWithStatements(this: NodePath_Final, nodes: Array<t.Statement>): (NodePath<t.BlockStatement> | NodePath<t.BreakStatement> | NodePath<t.ClassDeclaration> | NodePath<t.ContinueStatement> | NodePath<t.DebuggerStatement> | NodePath<t.DeclareClass> | NodePath<t.DeclareExportAllDeclaration> | NodePath<t.DeclareExportDeclaration> | NodePath<t.DeclareFunction> | NodePath<t.DeclareInterface> | NodePath<t.DeclareModule> | NodePath<t.DeclareModuleExports> | NodePath<t.DeclareOpaqueType> | NodePath<t.DeclareTypeAlias> | NodePath<t.DeclareVariable> | NodePath<t.DoWhileStatement> | NodePath<t.EmptyStatement> | NodePath<t.EnumDeclaration> | NodePath<t.ExportAllDeclaration> | NodePath<t.ExportDefaultDeclaration> | NodePath<t.ExportNamedDeclaration> | NodePath<t.ExpressionStatement> | NodePath<t.ForInStatement> | NodePath<t.ForOfStatement> | NodePath<t.ForStatement> | NodePath<t.FunctionDeclaration> | NodePath<t.IfStatement> | NodePath<t.ImportDeclaration> | NodePath<t.InterfaceDeclaration> | NodePath<t.LabeledStatement> | NodePath<t.OpaqueType> | NodePath<t.ReturnStatement> | NodePath<t.SwitchStatement> | NodePath<t.TSDeclareFunction> | NodePath<t.TSEnumDeclaration> | NodePath<t.TSExportAssignment> | NodePath<t.TSImportEqualsDeclaration> | NodePath<t.TSInterfaceDeclaration> | NodePath<t.TSModuleDeclaration> | NodePath<t.TSNamespaceExportDeclaration> | NodePath<t.TSTypeAliasDeclaration> | NodePath<t.ThrowStatement> | NodePath<t.TryStatement> | NodePath<t.TypeAlias> | NodePath<t.VariableDeclaration> | NodePath<t.WhileStatement> | NodePath<t.WithStatement>)[] | (NodePath<t.Identifier> | NodePath<t.ArrayExpression> | NodePath<t.ArrowFunctionExpression> | NodePath<t.AssignmentExpression> | NodePath<t.AwaitExpression> | NodePath<t.BigIntLiteral> | NodePath<t.BinaryExpression> | NodePath<t.BindExpression> | NodePath<t.BooleanLiteral> | NodePath<t.CallExpression> | NodePath<t.ClassExpression> | NodePath<t.ConditionalExpression> | NodePath<t.DoExpression> | NodePath<t.FunctionExpression> | NodePath<t.Import> | NodePath<t.ImportExpression> | NodePath<t.JSXElement> | NodePath<t.JSXFragment> | NodePath<t.LogicalExpression> | NodePath<t.MemberExpression> | NodePath<t.MetaProperty> | NodePath<t.ModuleExpression> | NodePath<t.NewExpression> | NodePath<t.NullLiteral> | NodePath<t.NumericLiteral> | NodePath<t.ObjectExpression> | NodePath<t.OptionalCallExpression> | NodePath<t.OptionalMemberExpression> | NodePath<t.ParenthesizedExpression> | NodePath<t.PipelineBareFunction> | NodePath<t.PipelinePrimaryTopicReference> | NodePath<t.PipelineTopicExpression> | NodePath<t.RecordExpression> | NodePath<t.RegExpLiteral> | NodePath<t.SequenceExpression> | NodePath<t.StringLiteral> | NodePath<t.TSAnyKeyword> | NodePath<t.TSArrayType> | NodePath<t.TSAsExpression> | NodePath<t.TSBigIntKeyword> | NodePath<t.TSBooleanKeyword> | NodePath<t.TSClassImplements> | NodePath<t.TSConditionalType> | NodePath<t.TSConstructorType> | NodePath<t.TSFunctionType> | NodePath<t.TSImportType> | NodePath<t.TSIndexedAccessType> | NodePath<t.TSInferType> | NodePath<t.TSInstantiationExpression> | NodePath<t.TSInterfaceHeritage> | NodePath<t.TSIntersectionType> | NodePath<t.TSIntrinsicKeyword> | NodePath<t.TSLiteralType> | NodePath<t.TSMappedType> | NodePath<t.TSNeverKeyword> | NodePath<t.TSNonNullExpression> | NodePath<t.TSNullKeyword> | NodePath<t.TSNumberKeyword> | NodePath<t.TSObjectKeyword> | NodePath<t.TSOptionalType> | NodePath<t.TSParenthesizedType> | NodePath<t.TSRestType> | NodePath<t.TSSatisfiesExpression> | NodePath<t.TSStringKeyword> | NodePath<t.TSSymbolKeyword> | NodePath<t.TSThisType> | NodePath<t.TSTupleType> | NodePath<t.TSTypeAssertion> | NodePath<t.TSTypeLiteral> | NodePath<t.TSTypeOperator> | NodePath<t.TSTypePredicate> | NodePath<t.TSTypeQuery> | NodePath<t.TSTypeReference> | NodePath<t.TSUndefinedKeyword> | NodePath<t.TSUnionType> | NodePath<t.TSUnknownKeyword> | NodePath<t.TSVoidKeyword> | NodePath<t.TaggedTemplateExpression> | NodePath<t.TemplateLiteral> | NodePath<t.ThisExpression> | NodePath<t.TopicReference> | NodePath<t.TupleExpression> | NodePath<t.TypeCastExpression> | NodePath<t.UnaryExpression> | NodePath<t.UpdateExpression> | NodePath<t.YieldExpression>)[];
1002
984
  declare function replaceInline(this: NodePath_Final, nodes: t.Node | Array<t.Node>): NodePath_Final[];
1003
985
 
1004
986
  /**
@@ -1067,23 +1049,7 @@ declare function ensureFunctionName<N extends t.FunctionExpression | t.ClassExpr
1067
1049
  * parsed nodes of `React.createClass` and `React["createClass"]`.
1068
1050
  */
1069
1051
  declare function matchesPattern(this: NodePath_Final, pattern: string, allowPartial?: boolean): boolean;
1070
- /**
1071
- * Check whether we have the input `key`. If the `key` references an array then we check
1072
- * if the array has any items, otherwise we just check if it's falsy.
1073
- */
1074
- declare function has<N extends t.Node>(this: NodePath_Final<N>, key: keyof N): boolean;
1075
- /**
1076
- * Description
1077
- */
1078
1052
  declare function isStatic(this: NodePath_Final): boolean;
1079
- /**
1080
- * Opposite of `has`.
1081
- */
1082
- declare function isnt<N extends t.Node>(this: NodePath_Final<N>, key: keyof N): boolean;
1083
- /**
1084
- * Check whether the path node `key` strict equals `value`.
1085
- */
1086
- declare function equals<N extends t.Node>(this: NodePath_Final<N>, key: keyof N, value: any): boolean;
1087
1053
  /**
1088
1054
  * Check the type against our stored internal type of the node. This is handy when a node has
1089
1055
  * been removed yet we still internally know the type and need it to calculate node replacement.
@@ -1140,25 +1106,12 @@ declare function resolve(this: NodePath_Final, dangerous?: boolean, resolved?: N
1140
1106
  declare function isConstantExpression(this: NodePath_Final): boolean;
1141
1107
  declare function isInStrictMode(this: NodePath_Final): boolean;
1142
1108
 
1143
- declare function call(this: NodePath_Final, key: VisitPhase): boolean;
1144
1109
  declare function isDenylisted(this: NodePath_Final): boolean;
1145
-
1146
1110
  declare function visit(this: NodePath_Final): boolean;
1147
1111
  declare function skip(this: NodePath_Final): void;
1148
1112
  declare function skipKey(this: NodePath_Final, key: string): void;
1149
1113
  declare function stop(this: NodePath_Final): void;
1150
- declare function setScope(this: NodePath_Final): void;
1151
1114
  declare function setContext<S = unknown>(this: NodePath_Final, context?: TraversalContext<S>): NodePath_Final;
1152
- /**
1153
- * Here we resync the node paths `key` and `container`. If they've changed according
1154
- * to what we have stored internally then we attempt to resync by crawling and looking
1155
- * for the new values.
1156
- */
1157
- declare function resync(this: NodePath_Final): void;
1158
- declare function popContext(this: NodePath_Final): void;
1159
- declare function pushContext(this: NodePath_Final, context: TraversalContext): void;
1160
- declare function setup(this: NodePath_Final, parentPath: NodePath_Final | undefined, container: t.Node | t.Node[], listKey: string, key: string | number): void;
1161
- declare function setKey(this: NodePath_Final, key: string | number): void;
1162
1115
  declare function requeue(this: NodePath_Final, pathToQueue?: NodePath_Final): void;
1163
1116
  declare function requeueComputedKeyAndDecorators(this: NodePath_Final<t.Method | t.Property>): void;
1164
1117
 
@@ -1173,17 +1126,8 @@ declare function insertBefore(this: NodePath_Final, nodes_: t.Node | t.Node[]):
1173
1126
  * expression, ensure that the completion record is correct by pushing the current node.
1174
1127
  */
1175
1128
  declare function insertAfter(this: NodePath_Final, nodes_: t.Node | t.Node[]): NodePath_Final[];
1176
- /**
1177
- * Update all sibling node paths after `fromIndex` by `incrementBy`.
1178
- */
1179
- declare function updateSiblingKeys(this: NodePath_Final, fromIndex: number, incrementBy: number): void;
1180
- declare function unshiftContainer<N extends t.Node, K extends keyof N & string>(this: NodePath_Final<N>, listKey: K, nodes: N[K] extends (infer E)[] ? E | E[] : never): (NodePath<t.AnyTypeAnnotation> | NodePath<t.ArgumentPlaceholder> | NodePath<t.ArrayExpression> | NodePath<t.ArrayPattern> | NodePath<t.ArrayTypeAnnotation> | NodePath<t.ArrowFunctionExpression> | NodePath<t.AssignmentExpression> | NodePath<t.AssignmentPattern> | NodePath<t.AwaitExpression> | NodePath<t.BigIntLiteral> | NodePath<t.BinaryExpression> | NodePath<t.BindExpression> | NodePath<t.BlockStatement> | NodePath<t.BooleanLiteral> | NodePath<t.BooleanLiteralTypeAnnotation> | NodePath<t.BooleanTypeAnnotation> | NodePath<t.BreakStatement> | NodePath<t.CallExpression> | NodePath<t.CatchClause> | NodePath<t.ClassAccessorProperty> | NodePath<t.ClassBody> | NodePath<t.ClassDeclaration> | NodePath<t.ClassExpression> | NodePath<t.ClassImplements> | NodePath<t.ClassMethod> | NodePath<t.ClassPrivateMethod> | NodePath<t.ClassPrivateProperty> | NodePath<t.ClassProperty> | NodePath<t.ConditionalExpression> | NodePath<t.ContinueStatement> | NodePath<t.DebuggerStatement> | NodePath<t.DecimalLiteral> | NodePath<t.DeclareClass> | NodePath<t.DeclareExportAllDeclaration> | NodePath<t.DeclareExportDeclaration> | NodePath<t.DeclareFunction> | NodePath<t.DeclareInterface> | NodePath<t.DeclareModule> | NodePath<t.DeclareModuleExports> | NodePath<t.DeclareOpaqueType> | NodePath<t.DeclareTypeAlias> | NodePath<t.DeclareVariable> | NodePath<t.DeclaredPredicate> | NodePath<t.Decorator> | NodePath<t.Directive> | NodePath<t.DirectiveLiteral> | NodePath<t.DoExpression> | NodePath<t.DoWhileStatement> | NodePath<t.EmptyStatement> | NodePath<t.EmptyTypeAnnotation> | NodePath<t.EnumBooleanBody> | NodePath<t.EnumBooleanMember> | NodePath<t.EnumDeclaration> | NodePath<t.EnumDefaultedMember> | NodePath<t.EnumNumberBody> | NodePath<t.EnumNumberMember> | NodePath<t.EnumStringBody> | NodePath<t.EnumStringMember> | NodePath<t.EnumSymbolBody> | NodePath<t.ExistsTypeAnnotation> | NodePath<t.ExportAllDeclaration> | NodePath<t.ExportDefaultDeclaration> | NodePath<t.ExportDefaultSpecifier> | NodePath<t.ExportNamedDeclaration> | NodePath<t.ExportNamespaceSpecifier> | NodePath<t.ExportSpecifier> | NodePath<t.ExpressionStatement> | NodePath<t.File> | NodePath<t.ForInStatement> | NodePath<t.ForOfStatement> | NodePath<t.ForStatement> | NodePath<t.FunctionDeclaration> | NodePath<t.FunctionExpression> | NodePath<t.FunctionTypeAnnotation> | NodePath<t.FunctionTypeParam> | NodePath<t.GenericTypeAnnotation> | NodePath<t.Identifier> | NodePath<t.IfStatement> | NodePath<t.Import> | NodePath<t.ImportAttribute> | NodePath<t.ImportDeclaration> | NodePath<t.ImportDefaultSpecifier> | NodePath<t.ImportExpression> | NodePath<t.ImportNamespaceSpecifier> | NodePath<t.ImportSpecifier> | NodePath<t.IndexedAccessType> | NodePath<t.InferredPredicate> | NodePath<t.InterfaceDeclaration> | NodePath<t.InterfaceExtends> | NodePath<t.InterfaceTypeAnnotation> | NodePath<t.InterpreterDirective> | NodePath<t.IntersectionTypeAnnotation> | NodePath<t.JSXAttribute> | NodePath<t.JSXClosingElement> | NodePath<t.JSXClosingFragment> | NodePath<t.JSXElement> | NodePath<t.JSXEmptyExpression> | NodePath<t.JSXExpressionContainer> | NodePath<t.JSXFragment> | NodePath<t.JSXIdentifier> | NodePath<t.JSXMemberExpression> | NodePath<t.JSXNamespacedName> | NodePath<t.JSXOpeningElement> | NodePath<t.JSXOpeningFragment> | NodePath<t.JSXSpreadAttribute> | NodePath<t.JSXSpreadChild> | NodePath<t.JSXText> | NodePath<t.LabeledStatement> | NodePath<t.LogicalExpression> | NodePath<t.MemberExpression> | NodePath<t.MetaProperty> | NodePath<t.MixedTypeAnnotation> | NodePath<t.ModuleExpression> | NodePath<t.NewExpression> | NodePath<t.NullLiteral> | NodePath<t.NullLiteralTypeAnnotation> | NodePath<t.NullableTypeAnnotation> | NodePath<t.NumberLiteral> | NodePath<t.NumberLiteralTypeAnnotation> | NodePath<t.NumberTypeAnnotation> | NodePath<t.NumericLiteral> | NodePath<t.ObjectExpression> | NodePath<t.ObjectMethod> | NodePath<t.ObjectPattern> | NodePath<t.ObjectProperty> | NodePath<t.ObjectTypeAnnotation> | NodePath<t.ObjectTypeCallProperty> | NodePath<t.ObjectTypeIndexer> | NodePath<t.ObjectTypeInternalSlot> | NodePath<t.ObjectTypeProperty> | NodePath<t.ObjectTypeSpreadProperty> | NodePath<t.OpaqueType> | NodePath<t.OptionalCallExpression> | NodePath<t.OptionalIndexedAccessType> | NodePath<t.OptionalMemberExpression> | NodePath<t.ParenthesizedExpression> | NodePath<t.PipelineBareFunction> | NodePath<t.PipelinePrimaryTopicReference> | NodePath<t.PipelineTopicExpression> | NodePath<t.Placeholder> | NodePath<t.PrivateName> | NodePath<t.Program> | NodePath<t.QualifiedTypeIdentifier> | NodePath<t.RecordExpression> | NodePath<t.RegExpLiteral> | NodePath<t.RegexLiteral> | NodePath<t.RestElement> | NodePath<t.RestProperty> | NodePath<t.ReturnStatement> | NodePath<t.SequenceExpression> | NodePath<t.SpreadElement> | NodePath<t.SpreadProperty> | NodePath<t.StaticBlock> | NodePath<t.StringLiteral> | NodePath<t.StringLiteralTypeAnnotation> | NodePath<t.StringTypeAnnotation> | NodePath<t.Super> | NodePath<t.SwitchCase> | NodePath<t.SwitchStatement> | NodePath<t.SymbolTypeAnnotation> | NodePath<t.TSAnyKeyword> | NodePath<t.TSArrayType> | NodePath<t.TSAsExpression> | NodePath<t.TSBigIntKeyword> | NodePath<t.TSBooleanKeyword> | NodePath<t.TSCallSignatureDeclaration> | NodePath<t.TSConditionalType> | NodePath<t.TSConstructSignatureDeclaration> | NodePath<t.TSConstructorType> | NodePath<t.TSDeclareFunction> | NodePath<t.TSDeclareMethod> | NodePath<t.TSEnumDeclaration> | NodePath<t.TSEnumMember> | NodePath<t.TSExportAssignment> | NodePath<t.TSExpressionWithTypeArguments> | NodePath<t.TSExternalModuleReference> | NodePath<t.TSFunctionType> | NodePath<t.TSImportEqualsDeclaration> | NodePath<t.TSImportType> | NodePath<t.TSIndexSignature> | NodePath<t.TSIndexedAccessType> | NodePath<t.TSInferType> | NodePath<t.TSInstantiationExpression> | NodePath<t.TSInterfaceBody> | NodePath<t.TSInterfaceDeclaration> | NodePath<t.TSIntersectionType> | NodePath<t.TSIntrinsicKeyword> | NodePath<t.TSLiteralType> | NodePath<t.TSMappedType> | NodePath<t.TSMethodSignature> | NodePath<t.TSModuleBlock> | NodePath<t.TSModuleDeclaration> | NodePath<t.TSNamedTupleMember> | NodePath<t.TSNamespaceExportDeclaration> | NodePath<t.TSNeverKeyword> | NodePath<t.TSNonNullExpression> | NodePath<t.TSNullKeyword> | NodePath<t.TSNumberKeyword> | NodePath<t.TSObjectKeyword> | NodePath<t.TSOptionalType> | NodePath<t.TSParameterProperty> | NodePath<t.TSParenthesizedType> | NodePath<t.TSPropertySignature> | NodePath<t.TSQualifiedName> | NodePath<t.TSRestType> | NodePath<t.TSSatisfiesExpression> | NodePath<t.TSStringKeyword> | NodePath<t.TSSymbolKeyword> | NodePath<t.TSThisType> | NodePath<t.TSTupleType> | NodePath<t.TSTypeAliasDeclaration> | NodePath<t.TSTypeAnnotation> | NodePath<t.TSTypeAssertion> | NodePath<t.TSTypeLiteral> | NodePath<t.TSTypeOperator> | NodePath<t.TSTypeParameter> | NodePath<t.TSTypeParameterDeclaration> | NodePath<t.TSTypeParameterInstantiation> | NodePath<t.TSTypePredicate> | NodePath<t.TSTypeQuery> | NodePath<t.TSTypeReference> | NodePath<t.TSUndefinedKeyword> | NodePath<t.TSUnionType> | NodePath<t.TSUnknownKeyword> | NodePath<t.TSVoidKeyword> | NodePath<t.TaggedTemplateExpression> | NodePath<t.TemplateElement> | NodePath<t.TemplateLiteral> | NodePath<t.ThisExpression> | NodePath<t.ThisTypeAnnotation> | NodePath<t.ThrowStatement> | NodePath<t.TopicReference> | NodePath<t.TryStatement> | NodePath<t.TupleExpression> | NodePath<t.TupleTypeAnnotation> | NodePath<t.TypeAlias> | NodePath<t.TypeAnnotation> | NodePath<t.TypeCastExpression> | NodePath<t.TypeParameter> | NodePath<t.TypeParameterDeclaration> | NodePath<t.TypeParameterInstantiation> | NodePath<t.TypeofTypeAnnotation> | NodePath<t.UnaryExpression> | NodePath<t.UnionTypeAnnotation> | NodePath<t.UpdateExpression> | NodePath<t.V8IntrinsicIdentifier> | NodePath<t.VariableDeclaration> | NodePath<t.VariableDeclarator> | NodePath<t.Variance> | NodePath<t.VoidTypeAnnotation> | NodePath<t.WhileStatement> | NodePath<t.WithStatement> | NodePath<t.YieldExpression>)[];
1129
+ declare function unshiftContainer<N extends t.Node, K extends keyof N & string>(this: NodePath_Final<N>, listKey: K, nodes: N[K] extends (infer E)[] ? E | E[] : never): (NodePath<t.Identifier> | NodePath<t.AnyTypeAnnotation> | NodePath<t.ArgumentPlaceholder> | NodePath<t.ArrayExpression> | NodePath<t.ArrayPattern> | NodePath<t.ArrayTypeAnnotation> | NodePath<t.ArrowFunctionExpression> | NodePath<t.AssignmentExpression> | NodePath<t.AssignmentPattern> | NodePath<t.AwaitExpression> | NodePath<t.BigIntLiteral> | NodePath<t.BinaryExpression> | NodePath<t.BindExpression> | NodePath<t.BlockStatement> | NodePath<t.BooleanLiteral> | NodePath<t.BooleanLiteralTypeAnnotation> | NodePath<t.BooleanTypeAnnotation> | NodePath<t.BreakStatement> | NodePath<t.CallExpression> | NodePath<t.CatchClause> | NodePath<t.ClassAccessorProperty> | NodePath<t.ClassBody> | NodePath<t.ClassDeclaration> | NodePath<t.ClassExpression> | NodePath<t.ClassImplements> | NodePath<t.ClassMethod> | NodePath<t.ClassPrivateMethod> | NodePath<t.ClassPrivateProperty> | NodePath<t.ClassProperty> | NodePath<t.ConditionalExpression> | NodePath<t.ContinueStatement> | NodePath<t.DebuggerStatement> | NodePath<t.DeclareClass> | NodePath<t.DeclareExportAllDeclaration> | NodePath<t.DeclareExportDeclaration> | NodePath<t.DeclareFunction> | NodePath<t.DeclareInterface> | NodePath<t.DeclareModule> | NodePath<t.DeclareModuleExports> | NodePath<t.DeclareOpaqueType> | NodePath<t.DeclareTypeAlias> | NodePath<t.DeclareVariable> | NodePath<t.DeclaredPredicate> | NodePath<t.Decorator> | NodePath<t.Directive> | NodePath<t.DirectiveLiteral> | NodePath<t.DoExpression> | NodePath<t.DoWhileStatement> | NodePath<t.EmptyStatement> | NodePath<t.EmptyTypeAnnotation> | NodePath<t.EnumBooleanBody> | NodePath<t.EnumBooleanMember> | NodePath<t.EnumDeclaration> | NodePath<t.EnumDefaultedMember> | NodePath<t.EnumNumberBody> | NodePath<t.EnumNumberMember> | NodePath<t.EnumStringBody> | NodePath<t.EnumStringMember> | NodePath<t.EnumSymbolBody> | NodePath<t.ExistsTypeAnnotation> | NodePath<t.ExportAllDeclaration> | NodePath<t.ExportDefaultDeclaration> | NodePath<t.ExportDefaultSpecifier> | NodePath<t.ExportNamedDeclaration> | NodePath<t.ExportNamespaceSpecifier> | NodePath<t.ExportSpecifier> | NodePath<t.ExpressionStatement> | NodePath<t.File> | NodePath<t.ForInStatement> | NodePath<t.ForOfStatement> | NodePath<t.ForStatement> | NodePath<t.FunctionDeclaration> | NodePath<t.FunctionExpression> | NodePath<t.FunctionTypeAnnotation> | NodePath<t.FunctionTypeParam> | NodePath<t.GenericTypeAnnotation> | NodePath<t.IfStatement> | NodePath<t.Import> | NodePath<t.ImportAttribute> | NodePath<t.ImportDeclaration> | NodePath<t.ImportDefaultSpecifier> | NodePath<t.ImportExpression> | NodePath<t.ImportNamespaceSpecifier> | NodePath<t.ImportSpecifier> | NodePath<t.IndexedAccessType> | NodePath<t.InferredPredicate> | NodePath<t.InterfaceDeclaration> | NodePath<t.InterfaceExtends> | NodePath<t.InterfaceTypeAnnotation> | NodePath<t.InterpreterDirective> | NodePath<t.IntersectionTypeAnnotation> | NodePath<t.JSXAttribute> | NodePath<t.JSXClosingElement> | NodePath<t.JSXClosingFragment> | NodePath<t.JSXElement> | NodePath<t.JSXEmptyExpression> | NodePath<t.JSXExpressionContainer> | NodePath<t.JSXFragment> | NodePath<t.JSXIdentifier> | NodePath<t.JSXMemberExpression> | NodePath<t.JSXNamespacedName> | NodePath<t.JSXOpeningElement> | NodePath<t.JSXOpeningFragment> | NodePath<t.JSXSpreadAttribute> | NodePath<t.JSXSpreadChild> | NodePath<t.JSXText> | NodePath<t.LabeledStatement> | NodePath<t.LogicalExpression> | NodePath<t.MemberExpression> | NodePath<t.MetaProperty> | NodePath<t.MixedTypeAnnotation> | NodePath<t.ModuleExpression> | NodePath<t.NewExpression> | NodePath<t.NullLiteral> | NodePath<t.NullLiteralTypeAnnotation> | NodePath<t.NullableTypeAnnotation> | NodePath<t.NumberLiteral> | NodePath<t.NumberLiteralTypeAnnotation> | NodePath<t.NumberTypeAnnotation> | NodePath<t.NumericLiteral> | NodePath<t.ObjectExpression> | NodePath<t.ObjectMethod> | NodePath<t.ObjectPattern> | NodePath<t.ObjectProperty> | NodePath<t.ObjectTypeAnnotation> | NodePath<t.ObjectTypeCallProperty> | NodePath<t.ObjectTypeIndexer> | NodePath<t.ObjectTypeInternalSlot> | NodePath<t.ObjectTypeProperty> | NodePath<t.ObjectTypeSpreadProperty> | NodePath<t.OpaqueType> | NodePath<t.OptionalCallExpression> | NodePath<t.OptionalIndexedAccessType> | NodePath<t.OptionalMemberExpression> | NodePath<t.ParenthesizedExpression> | NodePath<t.PipelineBareFunction> | NodePath<t.PipelinePrimaryTopicReference> | NodePath<t.PipelineTopicExpression> | NodePath<t.Placeholder> | NodePath<t.PrivateName> | NodePath<t.Program> | NodePath<t.QualifiedTypeIdentifier> | NodePath<t.RecordExpression> | NodePath<t.RegExpLiteral> | NodePath<t.RegexLiteral> | NodePath<t.RestElement> | NodePath<t.RestProperty> | NodePath<t.ReturnStatement> | NodePath<t.SequenceExpression> | NodePath<t.SpreadElement> | NodePath<t.SpreadProperty> | NodePath<t.StaticBlock> | NodePath<t.StringLiteral> | NodePath<t.StringLiteralTypeAnnotation> | NodePath<t.StringTypeAnnotation> | NodePath<t.Super> | NodePath<t.SwitchCase> | NodePath<t.SwitchStatement> | NodePath<t.SymbolTypeAnnotation> | NodePath<t.TSAnyKeyword> | NodePath<t.TSArrayType> | NodePath<t.TSAsExpression> | NodePath<t.TSBigIntKeyword> | NodePath<t.TSBooleanKeyword> | NodePath<t.TSCallSignatureDeclaration> | NodePath<t.TSClassImplements> | NodePath<t.TSConditionalType> | NodePath<t.TSConstructSignatureDeclaration> | NodePath<t.TSConstructorType> | NodePath<t.TSDeclareFunction> | NodePath<t.TSDeclareMethod> | NodePath<t.TSEnumDeclaration> | NodePath<t.TSEnumMember> | NodePath<t.TSExportAssignment> | NodePath<t.TSExternalModuleReference> | NodePath<t.TSFunctionType> | NodePath<t.TSImportEqualsDeclaration> | NodePath<t.TSImportType> | NodePath<t.TSIndexSignature> | NodePath<t.TSIndexedAccessType> | NodePath<t.TSInferType> | NodePath<t.TSInstantiationExpression> | NodePath<t.TSInterfaceBody> | NodePath<t.TSInterfaceDeclaration> | NodePath<t.TSInterfaceHeritage> | NodePath<t.TSIntersectionType> | NodePath<t.TSIntrinsicKeyword> | NodePath<t.TSLiteralType> | NodePath<t.TSMappedType> | NodePath<t.TSMethodSignature> | NodePath<t.TSModuleBlock> | NodePath<t.TSModuleDeclaration> | NodePath<t.TSNamedTupleMember> | NodePath<t.TSNamespaceExportDeclaration> | NodePath<t.TSNeverKeyword> | NodePath<t.TSNonNullExpression> | NodePath<t.TSNullKeyword> | NodePath<t.TSNumberKeyword> | NodePath<t.TSObjectKeyword> | NodePath<t.TSOptionalType> | NodePath<t.TSParameterProperty> | NodePath<t.TSParenthesizedType> | NodePath<t.TSPropertySignature> | NodePath<t.TSQualifiedName> | NodePath<t.TSRestType> | NodePath<t.TSSatisfiesExpression> | NodePath<t.TSStringKeyword> | NodePath<t.TSSymbolKeyword> | NodePath<t.TSThisType> | NodePath<t.TSTupleType> | NodePath<t.TSTypeAliasDeclaration> | NodePath<t.TSTypeAnnotation> | NodePath<t.TSTypeAssertion> | NodePath<t.TSTypeLiteral> | NodePath<t.TSTypeOperator> | NodePath<t.TSTypeParameter> | NodePath<t.TSTypeParameterDeclaration> | NodePath<t.TSTypeParameterInstantiation> | NodePath<t.TSTypePredicate> | NodePath<t.TSTypeQuery> | NodePath<t.TSTypeReference> | NodePath<t.TSUndefinedKeyword> | NodePath<t.TSUnionType> | NodePath<t.TSUnknownKeyword> | NodePath<t.TSVoidKeyword> | NodePath<t.TaggedTemplateExpression> | NodePath<t.TemplateElement> | NodePath<t.TemplateLiteral> | NodePath<t.ThisExpression> | NodePath<t.ThisTypeAnnotation> | NodePath<t.ThrowStatement> | NodePath<t.TopicReference> | NodePath<t.TryStatement> | NodePath<t.TupleExpression> | NodePath<t.TupleTypeAnnotation> | NodePath<t.TypeAlias> | NodePath<t.TypeAnnotation> | NodePath<t.TypeCastExpression> | NodePath<t.TypeParameter> | NodePath<t.TypeParameterDeclaration> | NodePath<t.TypeParameterInstantiation> | NodePath<t.TypeofTypeAnnotation> | NodePath<t.UnaryExpression> | NodePath<t.UnionTypeAnnotation> | NodePath<t.UpdateExpression> | NodePath<t.V8IntrinsicIdentifier> | NodePath<t.VariableDeclaration> | NodePath<t.VariableDeclarator> | NodePath<t.Variance> | NodePath<t.VoidTypeAnnotation> | NodePath<t.WhileStatement> | NodePath<t.WithStatement> | NodePath<t.YieldExpression>)[];
1181
1130
  declare function pushContainer<P extends NodePath_Final, K extends string & keyof P["node"]>(this: P, listKey: K, nodes: P["node"][K] extends (infer E)[] ? E | E[] : never): NodePath_Final[];
1182
- /**
1183
- * Hoist the current node to the highest scope possible and return a UID
1184
- * referencing it.
1185
- */
1186
- declare function hoist<T extends t.Node>(this: NodePath_Final<T>, scope?: Scope): NodePath_Final<t.Expression>;
1187
1131
 
1188
1132
  declare function getOpposite(this: NodePath_Final): NodePath_Final | null;
1189
1133
  /**
@@ -1359,9 +1303,6 @@ interface NodePathAssertions {
1359
1303
  assertDebuggerStatement(
1360
1304
  opts?: Opts$2<t.DebuggerStatement>,
1361
1305
  ): asserts this is NodePath_Final<t.DebuggerStatement>;
1362
- assertDecimalLiteral(
1363
- opts?: Opts$2<t.DecimalLiteral>,
1364
- ): asserts this is NodePath_Final<t.DecimalLiteral>;
1365
1306
  assertDeclaration(
1366
1307
  opts?: Opts$2<t.Declaration>,
1367
1308
  ): asserts this is NodePath_Final<t.Declaration>;
@@ -1829,6 +1770,9 @@ interface NodePathAssertions {
1829
1770
  assertTSCallSignatureDeclaration(
1830
1771
  opts?: Opts$2<t.TSCallSignatureDeclaration>,
1831
1772
  ): asserts this is NodePath_Final<t.TSCallSignatureDeclaration>;
1773
+ assertTSClassImplements(
1774
+ opts?: Opts$2<t.TSClassImplements>,
1775
+ ): asserts this is NodePath_Final<t.TSClassImplements>;
1832
1776
  assertTSConditionalType(
1833
1777
  opts?: Opts$2<t.TSConditionalType>,
1834
1778
  ): asserts this is NodePath_Final<t.TSConditionalType>;
@@ -1856,9 +1800,6 @@ interface NodePathAssertions {
1856
1800
  assertTSExportAssignment(
1857
1801
  opts?: Opts$2<t.TSExportAssignment>,
1858
1802
  ): asserts this is NodePath_Final<t.TSExportAssignment>;
1859
- assertTSExpressionWithTypeArguments(
1860
- opts?: Opts$2<t.TSExpressionWithTypeArguments>,
1861
- ): asserts this is NodePath_Final<t.TSExpressionWithTypeArguments>;
1862
1803
  assertTSExternalModuleReference(
1863
1804
  opts?: Opts$2<t.TSExternalModuleReference>,
1864
1805
  ): asserts this is NodePath_Final<t.TSExternalModuleReference>;
@@ -1889,6 +1830,9 @@ interface NodePathAssertions {
1889
1830
  assertTSInterfaceDeclaration(
1890
1831
  opts?: Opts$2<t.TSInterfaceDeclaration>,
1891
1832
  ): asserts this is NodePath_Final<t.TSInterfaceDeclaration>;
1833
+ assertTSInterfaceHeritage(
1834
+ opts?: Opts$2<t.TSInterfaceHeritage>,
1835
+ ): asserts this is NodePath_Final<t.TSInterfaceHeritage>;
1892
1836
  assertTSIntersectionType(
1893
1837
  opts?: Opts$2<t.TSIntersectionType>,
1894
1838
  ): asserts this is NodePath_Final<t.TSIntersectionType>;
@@ -2298,10 +2242,6 @@ interface BaseNodePathValidators {
2298
2242
  this: NodePath_Final,
2299
2243
  opts?: Opts<t.DebuggerStatement>,
2300
2244
  ): this is NodePath_Final<t.DebuggerStatement>;
2301
- isDecimalLiteral(
2302
- this: NodePath_Final,
2303
- opts?: Opts<t.DecimalLiteral>,
2304
- ): this is NodePath_Final<t.DecimalLiteral>;
2305
2245
  isDeclaration(
2306
2246
  this: NodePath_Final,
2307
2247
  opts?: Opts<t.Declaration>,
@@ -2951,6 +2891,10 @@ interface BaseNodePathValidators {
2951
2891
  this: NodePath_Final,
2952
2892
  opts?: Opts<t.TSCallSignatureDeclaration>,
2953
2893
  ): this is NodePath_Final<t.TSCallSignatureDeclaration>;
2894
+ isTSClassImplements(
2895
+ this: NodePath_Final,
2896
+ opts?: Opts<t.TSClassImplements>,
2897
+ ): this is NodePath_Final<t.TSClassImplements>;
2954
2898
  isTSConditionalType(
2955
2899
  this: NodePath_Final,
2956
2900
  opts?: Opts<t.TSConditionalType>,
@@ -2987,10 +2931,6 @@ interface BaseNodePathValidators {
2987
2931
  this: NodePath_Final,
2988
2932
  opts?: Opts<t.TSExportAssignment>,
2989
2933
  ): this is NodePath_Final<t.TSExportAssignment>;
2990
- isTSExpressionWithTypeArguments(
2991
- this: NodePath_Final,
2992
- opts?: Opts<t.TSExpressionWithTypeArguments>,
2993
- ): this is NodePath_Final<t.TSExpressionWithTypeArguments>;
2994
2934
  isTSExternalModuleReference(
2995
2935
  this: NodePath_Final,
2996
2936
  opts?: Opts<t.TSExternalModuleReference>,
@@ -3031,6 +2971,10 @@ interface BaseNodePathValidators {
3031
2971
  this: NodePath_Final,
3032
2972
  opts?: Opts<t.TSInterfaceDeclaration>,
3033
2973
  ): this is NodePath_Final<t.TSInterfaceDeclaration>;
2974
+ isTSInterfaceHeritage(
2975
+ this: NodePath_Final,
2976
+ opts?: Opts<t.TSInterfaceHeritage>,
2977
+ ): this is NodePath_Final<t.TSInterfaceHeritage>;
3034
2978
  isTSIntersectionType(
3035
2979
  this: NodePath_Final,
3036
2980
  opts?: Opts<t.TSIntersectionType>,
@@ -3361,11 +3305,7 @@ declare const methods: {
3361
3305
  splitExportDeclaration: typeof splitExportDeclaration;
3362
3306
  ensureFunctionName: typeof ensureFunctionName;
3363
3307
  matchesPattern: typeof matchesPattern;
3364
- has: typeof has;
3365
3308
  isStatic: typeof isStatic;
3366
- is: typeof has;
3367
- isnt: typeof isnt;
3368
- equals: typeof equals;
3369
3309
  isNodeType: typeof isNodeType;
3370
3310
  canHaveVariableDeclarationOrExpression: typeof canHaveVariableDeclarationOrExpression;
3371
3311
  canSwapBetweenExpressionAndStatement: typeof canSwapBetweenExpressionAndStatement;
@@ -3378,29 +3318,19 @@ declare const methods: {
3378
3318
  resolve: typeof resolve;
3379
3319
  isConstantExpression: typeof isConstantExpression;
3380
3320
  isInStrictMode: typeof isInStrictMode;
3381
- call: typeof call;
3382
3321
  isDenylisted: typeof isDenylisted;
3383
- isBlacklisted: typeof isDenylisted;
3384
3322
  visit: typeof visit;
3385
3323
  skip: typeof skip;
3386
3324
  skipKey: typeof skipKey;
3387
3325
  stop: typeof stop;
3388
- setScope: typeof setScope;
3389
3326
  setContext: typeof setContext;
3390
- resync: typeof resync;
3391
- popContext: typeof popContext;
3392
- pushContext: typeof pushContext;
3393
- setup: typeof setup;
3394
- setKey: typeof setKey;
3395
3327
  requeue: typeof requeue;
3396
3328
  requeueComputedKeyAndDecorators: typeof requeueComputedKeyAndDecorators;
3397
3329
  remove: typeof remove;
3398
3330
  insertBefore: typeof insertBefore;
3399
3331
  insertAfter: typeof insertAfter;
3400
- updateSiblingKeys: typeof updateSiblingKeys;
3401
3332
  unshiftContainer: typeof unshiftContainer;
3402
3333
  pushContainer: typeof pushContainer;
3403
- hoist: typeof hoist;
3404
3334
  getOpposite: typeof getOpposite;
3405
3335
  getCompletionRecords: typeof getCompletionRecords;
3406
3336
  getSibling: typeof getSibling;