import * as t from '@babel/types'; import { Matcher } from './Matcher'; export { Import as import }; export { Super as super }; export declare class AnyTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.AnyTypeAnnotation; } export declare function anyTypeAnnotation(): Matcher; export declare class ArgumentPlaceholderMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.ArgumentPlaceholder; } export declare function argumentPlaceholder(): Matcher; export declare class ArrayExpressionMatcher extends Matcher { private readonly elements?; constructor(elements?: Matcher<(t.SpreadElement | t.Expression | null)[]> | (Matcher | Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ArrayExpression; } export declare function arrayExpression(elements?: Matcher> | Array | Matcher | Matcher>): Matcher; export declare class ArrayPatternMatcher extends Matcher { private readonly elements?; constructor(elements?: Matcher<(t.ArrayPattern | t.AssignmentPattern | t.Identifier | t.MemberExpression | t.ObjectPattern | t.RestElement | t.TSAsExpression | t.TSNonNullExpression | t.TSParameterProperty | t.TSSatisfiesExpression | t.TSTypeAssertion | null)[]> | (Matcher | Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ArrayPattern; } export declare function arrayPattern(elements?: Matcher> | Array | Matcher | Matcher>): Matcher; export declare class ArrayTypeAnnotationMatcher extends Matcher { private readonly elementType?; constructor(elementType?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ArrayTypeAnnotation; } export declare function arrayTypeAnnotation(elementType?: Matcher): Matcher; export declare class ArrowFunctionExpressionMatcher extends Matcher { private readonly params?; private readonly body?; private readonly async?; constructor(params?: Matcher<(t.Identifier | t.RestElement | t.Pattern)[]> | (Matcher | Matcher | Matcher)[] | undefined, body?: Matcher | undefined, async?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ArrowFunctionExpression; } export declare function arrowFunctionExpression(params?: Matcher> | Array | Matcher | Matcher>, body?: Matcher, async?: Matcher | boolean): Matcher; export declare class AssignmentExpressionMatcher extends Matcher { private readonly operator?; private readonly left?; private readonly right?; constructor(operator?: string | Matcher | undefined, left?: Matcher | undefined, right?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.AssignmentExpression; } export declare function assignmentExpression(operator?: Matcher | string, left?: Matcher, right?: Matcher): Matcher; export declare class AssignmentPatternMatcher extends Matcher { private readonly left?; private readonly right?; constructor(left?: Matcher | undefined, right?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.AssignmentPattern; } export declare function assignmentPattern(left?: Matcher, right?: Matcher): Matcher; export declare class AwaitExpressionMatcher extends Matcher { private readonly argument?; constructor(argument?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.AwaitExpression; } export declare function awaitExpression(argument?: Matcher): Matcher; export declare class BigIntLiteralMatcher extends Matcher { private readonly value?; constructor(value?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.BigIntLiteral; } export declare function bigIntLiteral(value?: Matcher | string): Matcher; export declare class BinaryExpressionMatcher extends Matcher { private readonly operator?; private readonly left?; private readonly right?; constructor(operator?: string | Matcher<"+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>"> | undefined, left?: Matcher | undefined, right?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.BinaryExpression; } export declare function binaryExpression(operator?: Matcher<'+' | '-' | '/' | '%' | '*' | '**' | '&' | '|' | '>>' | '>>>' | '<<' | '^' | '==' | '===' | '!=' | '!==' | 'in' | 'instanceof' | '>' | '<' | '>=' | '<=' | '|>'> | string, left?: Matcher, right?: Matcher): Matcher; export declare class BindExpressionMatcher extends Matcher { private readonly object?; private readonly callee?; constructor(object?: Matcher | undefined, callee?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.BindExpression; } export declare function bindExpression(object?: Matcher, callee?: Matcher): Matcher; export declare class BlockStatementMatcher extends Matcher { private readonly body?; private readonly directives?; constructor(body?: Matcher | Matcher[] | undefined, directives?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.BlockStatement; } export declare function blockStatement(body?: Matcher> | Array>, directives?: Matcher> | Array>): Matcher; export declare class BooleanLiteralMatcher extends Matcher { private readonly value?; constructor(value?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.BooleanLiteral; } export declare function booleanLiteral(value?: Matcher | boolean): Matcher; export declare class BooleanLiteralTypeAnnotationMatcher extends Matcher { private readonly value?; constructor(value?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.BooleanLiteralTypeAnnotation; } export declare function booleanLiteralTypeAnnotation(value?: Matcher | boolean): Matcher; export declare class BooleanTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.BooleanTypeAnnotation; } export declare function booleanTypeAnnotation(): Matcher; export declare class BreakStatementMatcher extends Matcher { private readonly label?; constructor(label?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.BreakStatement; } export declare function breakStatement(label?: Matcher | null): Matcher; export declare class CallExpressionMatcher extends Matcher { private readonly callee?; private readonly _arguments?; constructor(callee?: Matcher | undefined, _arguments?: Matcher<(t.ArgumentPlaceholder | t.JSXNamespacedName | t.SpreadElement | t.Expression)[]> | (Matcher | Matcher | Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.CallExpression; } export declare function callExpression(callee?: Matcher, _arguments?: Matcher> | Array | Matcher | Matcher | Matcher>): Matcher; export declare class CatchClauseMatcher extends Matcher { private readonly param?; private readonly body?; constructor(param?: Matcher | null | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.CatchClause; } export declare function catchClause(param?: Matcher | null, body?: Matcher): Matcher; export declare class ClassAccessorPropertyMatcher extends Matcher { private readonly key?; private readonly value?; private readonly typeAnnotation?; private readonly decorators?; private readonly computed?; private readonly _static?; constructor(key?: Matcher | undefined, value?: Matcher | null | undefined, typeAnnotation?: Matcher | null | undefined, decorators?: Matcher | Matcher[] | null | undefined, computed?: boolean | Matcher | undefined, _static?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ClassAccessorProperty; } export declare function classAccessorProperty(key?: Matcher, value?: Matcher | null, typeAnnotation?: Matcher | null, decorators?: Matcher> | Array> | null, computed?: Matcher | boolean, _static?: Matcher | boolean): Matcher; export declare class ClassBodyMatcher extends Matcher { private readonly body?; constructor(body?: Matcher<(t.ClassAccessorProperty | t.ClassMethod | t.ClassPrivateMethod | t.ClassPrivateProperty | t.ClassProperty | t.StaticBlock | t.TSDeclareMethod | t.TSIndexSignature)[]> | (Matcher | Matcher | Matcher | Matcher | Matcher | Matcher | Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ClassBody; } export declare function classBody(body?: Matcher> | Array | Matcher | Matcher | Matcher | Matcher | Matcher | Matcher | Matcher>): Matcher; export declare class ClassDeclarationMatcher extends Matcher { private readonly id?; private readonly superClass?; private readonly body?; private readonly decorators?; constructor(id?: Matcher | undefined, superClass?: Matcher | null | undefined, body?: Matcher | undefined, decorators?: Matcher | Matcher[] | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ClassDeclaration; } export declare function classDeclaration(id?: Matcher, superClass?: Matcher | null, body?: Matcher, decorators?: Matcher> | Array> | null): Matcher; export declare class ClassExpressionMatcher extends Matcher { private readonly id?; private readonly superClass?; private readonly body?; private readonly decorators?; constructor(id?: Matcher | null | undefined, superClass?: Matcher | null | undefined, body?: Matcher | undefined, decorators?: Matcher | Matcher[] | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ClassExpression; } export declare function classExpression(id?: Matcher | null, superClass?: Matcher | null, body?: Matcher, decorators?: Matcher> | Array> | null): Matcher; export declare class ClassImplementsMatcher extends Matcher { private readonly id?; private readonly typeParameters?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ClassImplements; } export declare function classImplements(id?: Matcher, typeParameters?: Matcher | null): Matcher; export declare class ClassMethodMatcher extends Matcher { private readonly kind?; private readonly key?; private readonly params?; private readonly body?; private readonly computed?; private readonly _static?; private readonly generator?; private readonly async?; constructor(kind?: string | Matcher<"method" | "get" | "set" | "constructor"> | undefined, key?: Matcher | undefined, params?: Matcher<(t.Identifier | t.RestElement | t.TSParameterProperty | t.Pattern)[]> | (Matcher | Matcher | Matcher | Matcher)[] | undefined, body?: Matcher | undefined, computed?: boolean | Matcher | undefined, _static?: boolean | Matcher | undefined, generator?: boolean | Matcher | undefined, async?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ClassMethod; } export declare function classMethod(kind?: Matcher<'get' | 'set' | 'method' | 'constructor'> | string, key?: Matcher, params?: Matcher> | Array | Matcher | Matcher | Matcher>, body?: Matcher, computed?: Matcher | boolean, _static?: Matcher | boolean, generator?: Matcher | boolean, async?: Matcher | boolean): Matcher; export declare class ClassPrivateMethodMatcher extends Matcher { private readonly kind?; private readonly key?; private readonly params?; private readonly body?; private readonly _static?; constructor(kind?: string | Matcher<"method" | "get" | "set"> | undefined, key?: Matcher | undefined, params?: Matcher<(t.Identifier | t.RestElement | t.TSParameterProperty | t.Pattern)[]> | (Matcher | Matcher | Matcher | Matcher)[] | undefined, body?: Matcher | undefined, _static?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ClassPrivateMethod; } export declare function classPrivateMethod(kind?: Matcher<'get' | 'set' | 'method'> | string, key?: Matcher, params?: Matcher> | Array | Matcher | Matcher | Matcher>, body?: Matcher, _static?: Matcher | boolean): Matcher; export declare class ClassPrivatePropertyMatcher extends Matcher { private readonly key?; private readonly value?; private readonly decorators?; private readonly _static?; constructor(key?: Matcher | undefined, value?: Matcher | null | undefined, decorators?: Matcher | Matcher[] | null | undefined, _static?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ClassPrivateProperty; } export declare function classPrivateProperty(key?: Matcher, value?: Matcher | null, decorators?: Matcher> | Array> | null, _static?: Matcher | boolean): Matcher; export declare class ClassPropertyMatcher extends Matcher { private readonly key?; private readonly value?; private readonly typeAnnotation?; private readonly decorators?; private readonly computed?; private readonly _static?; constructor(key?: Matcher | undefined, value?: Matcher | null | undefined, typeAnnotation?: Matcher | null | undefined, decorators?: Matcher | Matcher[] | null | undefined, computed?: boolean | Matcher | undefined, _static?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ClassProperty; } export declare function classProperty(key?: Matcher, value?: Matcher | null, typeAnnotation?: Matcher | null, decorators?: Matcher> | Array> | null, computed?: Matcher | boolean, _static?: Matcher | boolean): Matcher; export declare class ConditionalExpressionMatcher extends Matcher { private readonly test?; private readonly consequent?; private readonly alternate?; constructor(test?: Matcher | undefined, consequent?: Matcher | undefined, alternate?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ConditionalExpression; } export declare function conditionalExpression(test?: Matcher, consequent?: Matcher, alternate?: Matcher): Matcher; export declare class ContinueStatementMatcher extends Matcher { private readonly label?; constructor(label?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ContinueStatement; } export declare function continueStatement(label?: Matcher | null): Matcher; export declare class DebuggerStatementMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.DebuggerStatement; } export declare function debuggerStatement(): Matcher; export declare class DecimalLiteralMatcher extends Matcher { private readonly value?; constructor(value?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DecimalLiteral; } export declare function decimalLiteral(value?: Matcher | string): Matcher; export declare class DeclareClassMatcher extends Matcher { private readonly id?; private readonly typeParameters?; private readonly _extends?; private readonly body?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined, _extends?: Matcher | Matcher[] | null | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclareClass; } export declare function declareClass(id?: Matcher, typeParameters?: Matcher | null, _extends?: Matcher> | Array> | null, body?: Matcher): Matcher; export declare class DeclareExportAllDeclarationMatcher extends Matcher { private readonly source?; constructor(source?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclareExportAllDeclaration; } export declare function declareExportAllDeclaration(source?: Matcher): Matcher; export declare class DeclareExportDeclarationMatcher extends Matcher { private readonly declaration?; private readonly specifiers?; private readonly source?; constructor(declaration?: Matcher | null | undefined, specifiers?: Matcher<(t.ExportNamespaceSpecifier | t.ExportSpecifier)[]> | (Matcher | Matcher)[] | null | undefined, source?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclareExportDeclaration; } export declare function declareExportDeclaration(declaration?: Matcher | null, specifiers?: Matcher> | Array | Matcher> | null, source?: Matcher | null): Matcher; export declare class DeclareFunctionMatcher extends Matcher { private readonly id?; constructor(id?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclareFunction; } export declare function declareFunction(id?: Matcher): Matcher; export declare class DeclareInterfaceMatcher extends Matcher { private readonly id?; private readonly typeParameters?; private readonly _extends?; private readonly body?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined, _extends?: Matcher | Matcher[] | null | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclareInterface; } export declare function declareInterface(id?: Matcher, typeParameters?: Matcher | null, _extends?: Matcher> | Array> | null, body?: Matcher): Matcher; export declare class DeclareModuleMatcher extends Matcher { private readonly id?; private readonly body?; private readonly kind?; constructor(id?: Matcher | undefined, body?: Matcher | undefined, kind?: string | Matcher<"CommonJS" | "ES"> | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclareModule; } export declare function declareModule(id?: Matcher, body?: Matcher, kind?: Matcher<'CommonJS' | 'ES'> | string | null): Matcher; export declare class DeclareModuleExportsMatcher extends Matcher { private readonly typeAnnotation?; constructor(typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclareModuleExports; } export declare function declareModuleExports(typeAnnotation?: Matcher): Matcher; export declare class DeclareOpaqueTypeMatcher extends Matcher { private readonly id?; private readonly typeParameters?; private readonly supertype?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined, supertype?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclareOpaqueType; } export declare function declareOpaqueType(id?: Matcher, typeParameters?: Matcher | null, supertype?: Matcher | null): Matcher; export declare class DeclareTypeAliasMatcher extends Matcher { private readonly id?; private readonly typeParameters?; private readonly right?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined, right?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclareTypeAlias; } export declare function declareTypeAlias(id?: Matcher, typeParameters?: Matcher | null, right?: Matcher): Matcher; export declare class DeclareVariableMatcher extends Matcher { private readonly id?; constructor(id?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclareVariable; } export declare function declareVariable(id?: Matcher): Matcher; export declare class DeclaredPredicateMatcher extends Matcher { private readonly value?; constructor(value?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DeclaredPredicate; } export declare function declaredPredicate(value?: Matcher): Matcher; export declare class DecoratorMatcher extends Matcher { private readonly expression?; constructor(expression?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.Decorator; } export declare function decorator(expression?: Matcher): Matcher; export declare class DirectiveMatcher extends Matcher { private readonly value?; constructor(value?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.Directive; } export declare function directive(value?: Matcher): Matcher; export declare class DirectiveLiteralMatcher extends Matcher { private readonly value?; constructor(value?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DirectiveLiteral; } export declare function directiveLiteral(value?: Matcher | string): Matcher; export declare class DoExpressionMatcher extends Matcher { private readonly body?; private readonly async?; constructor(body?: Matcher | undefined, async?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DoExpression; } export declare function doExpression(body?: Matcher, async?: Matcher | boolean): Matcher; export declare class DoWhileStatementMatcher extends Matcher { private readonly test?; private readonly body?; constructor(test?: Matcher | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.DoWhileStatement; } export declare function doWhileStatement(test?: Matcher, body?: Matcher): Matcher; export declare class EmptyStatementMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.EmptyStatement; } export declare function emptyStatement(): Matcher; export declare class EmptyTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.EmptyTypeAnnotation; } export declare function emptyTypeAnnotation(): Matcher; export declare class EnumBooleanBodyMatcher extends Matcher { private readonly members?; constructor(members?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.EnumBooleanBody; } export declare function enumBooleanBody(members?: Matcher> | Array>): Matcher; export declare class EnumBooleanMemberMatcher extends Matcher { private readonly id?; constructor(id?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.EnumBooleanMember; } export declare function enumBooleanMember(id?: Matcher): Matcher; export declare class EnumDeclarationMatcher extends Matcher { private readonly id?; private readonly body?; constructor(id?: Matcher | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.EnumDeclaration; } export declare function enumDeclaration(id?: Matcher, body?: Matcher): Matcher; export declare class EnumDefaultedMemberMatcher extends Matcher { private readonly id?; constructor(id?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.EnumDefaultedMember; } export declare function enumDefaultedMember(id?: Matcher): Matcher; export declare class EnumNumberBodyMatcher extends Matcher { private readonly members?; constructor(members?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.EnumNumberBody; } export declare function enumNumberBody(members?: Matcher> | Array>): Matcher; export declare class EnumNumberMemberMatcher extends Matcher { private readonly id?; private readonly init?; constructor(id?: Matcher | undefined, init?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.EnumNumberMember; } export declare function enumNumberMember(id?: Matcher, init?: Matcher): Matcher; export declare class EnumStringBodyMatcher extends Matcher { private readonly members?; constructor(members?: Matcher<(t.EnumDefaultedMember | t.EnumStringMember)[]> | (Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.EnumStringBody; } export declare function enumStringBody(members?: Matcher> | Array | Matcher>): Matcher; export declare class EnumStringMemberMatcher extends Matcher { private readonly id?; private readonly init?; constructor(id?: Matcher | undefined, init?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.EnumStringMember; } export declare function enumStringMember(id?: Matcher, init?: Matcher): Matcher; export declare class EnumSymbolBodyMatcher extends Matcher { private readonly members?; constructor(members?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.EnumSymbolBody; } export declare function enumSymbolBody(members?: Matcher> | Array>): Matcher; export declare class ExistsTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.ExistsTypeAnnotation; } export declare function existsTypeAnnotation(): Matcher; export declare class ExportAllDeclarationMatcher extends Matcher { private readonly source?; constructor(source?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ExportAllDeclaration; } export declare function exportAllDeclaration(source?: Matcher): Matcher; export declare class ExportDefaultDeclarationMatcher extends Matcher { private readonly declaration?; constructor(declaration?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ExportDefaultDeclaration; } export declare function exportDefaultDeclaration(declaration?: Matcher): Matcher; export declare class ExportDefaultSpecifierMatcher extends Matcher { private readonly exported?; constructor(exported?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ExportDefaultSpecifier; } export declare function exportDefaultSpecifier(exported?: Matcher): Matcher; export declare class ExportNamedDeclarationMatcher extends Matcher { private readonly declaration?; private readonly specifiers?; private readonly source?; constructor(declaration?: Matcher | null | undefined, specifiers?: Matcher<(t.ExportDefaultSpecifier | t.ExportNamespaceSpecifier | t.ExportSpecifier)[]> | (Matcher | Matcher | Matcher)[] | undefined, source?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ExportNamedDeclaration; } export declare function exportNamedDeclaration(declaration?: Matcher | null, specifiers?: Matcher> | Array | Matcher | Matcher>, source?: Matcher | null): Matcher; export declare class ExportNamespaceSpecifierMatcher extends Matcher { private readonly exported?; constructor(exported?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ExportNamespaceSpecifier; } export declare function exportNamespaceSpecifier(exported?: Matcher): Matcher; export declare class ExportSpecifierMatcher extends Matcher { private readonly local?; private readonly exported?; constructor(local?: Matcher | undefined, exported?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ExportSpecifier; } export declare function exportSpecifier(local?: Matcher, exported?: Matcher): Matcher; export declare class ExpressionStatementMatcher extends Matcher { private readonly expression?; constructor(expression?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ExpressionStatement; } export declare function expressionStatement(expression?: Matcher): Matcher; export declare class FileMatcher extends Matcher { private readonly program?; private readonly comments?; private readonly tokens?; constructor(program?: Matcher | undefined, comments?: Matcher<(t.CommentBlock | t.CommentLine)[]> | null | undefined, tokens?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.File; } export declare function file(program?: Matcher, comments?: Matcher> | null, tokens?: Matcher> | null): Matcher; export declare class ForInStatementMatcher extends Matcher { private readonly left?; private readonly right?; private readonly body?; constructor(left?: Matcher | undefined, right?: Matcher | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ForInStatement; } export declare function forInStatement(left?: Matcher, right?: Matcher, body?: Matcher): Matcher; export declare class ForOfStatementMatcher extends Matcher { private readonly left?; private readonly right?; private readonly body?; private readonly _await?; constructor(left?: Matcher | undefined, right?: Matcher | undefined, body?: Matcher | undefined, _await?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ForOfStatement; } export declare function forOfStatement(left?: Matcher, right?: Matcher, body?: Matcher, _await?: Matcher | boolean): Matcher; export declare class ForStatementMatcher extends Matcher { private readonly init?; private readonly test?; private readonly update?; private readonly body?; constructor(init?: Matcher | null | undefined, test?: Matcher | null | undefined, update?: Matcher | null | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ForStatement; } export declare function forStatement(init?: Matcher | null, test?: Matcher | null, update?: Matcher | null, body?: Matcher): Matcher; export declare class FunctionDeclarationMatcher extends Matcher { private readonly id?; private readonly params?; private readonly body?; private readonly generator?; private readonly async?; constructor(id?: Matcher | null | undefined, params?: Matcher<(t.Identifier | t.RestElement | t.Pattern)[]> | (Matcher | Matcher | Matcher)[] | undefined, body?: Matcher | undefined, generator?: boolean | Matcher | undefined, async?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.FunctionDeclaration; } export declare function functionDeclaration(id?: Matcher | null, params?: Matcher> | Array | Matcher | Matcher>, body?: Matcher, generator?: Matcher | boolean, async?: Matcher | boolean): Matcher; export declare class FunctionExpressionMatcher extends Matcher { private readonly id?; private readonly params?; private readonly body?; private readonly generator?; private readonly async?; constructor(id?: Matcher | null | undefined, params?: Matcher<(t.Identifier | t.RestElement | t.Pattern)[]> | (Matcher | Matcher | Matcher)[] | undefined, body?: Matcher | undefined, generator?: boolean | Matcher | undefined, async?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.FunctionExpression; } export declare function functionExpression(id?: Matcher | null, params?: Matcher> | Array | Matcher | Matcher>, body?: Matcher, generator?: Matcher | boolean, async?: Matcher | boolean): Matcher; export declare class FunctionTypeAnnotationMatcher extends Matcher { private readonly typeParameters?; private readonly params?; private readonly rest?; private readonly returnType?; constructor(typeParameters?: Matcher | null | undefined, params?: Matcher | Matcher[] | undefined, rest?: Matcher | null | undefined, returnType?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.FunctionTypeAnnotation; } export declare function functionTypeAnnotation(typeParameters?: Matcher | null, params?: Matcher> | Array>, rest?: Matcher | null, returnType?: Matcher): Matcher; export declare class FunctionTypeParamMatcher extends Matcher { private readonly name?; private readonly typeAnnotation?; constructor(name?: Matcher | null | undefined, typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.FunctionTypeParam; } export declare function functionTypeParam(name?: Matcher | null, typeAnnotation?: Matcher): Matcher; export declare class GenericTypeAnnotationMatcher extends Matcher { private readonly id?; private readonly typeParameters?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.GenericTypeAnnotation; } export declare function genericTypeAnnotation(id?: Matcher, typeParameters?: Matcher | null): Matcher; export declare class IdentifierMatcher extends Matcher { private readonly name?; constructor(name?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.Identifier; } export declare function identifier(name?: Matcher | string): Matcher; export declare class IfStatementMatcher extends Matcher { private readonly test?; private readonly consequent?; private readonly alternate?; constructor(test?: Matcher | undefined, consequent?: Matcher | undefined, alternate?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.IfStatement; } export declare function ifStatement(test?: Matcher, consequent?: Matcher, alternate?: Matcher | null): Matcher; export declare class ImportMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.Import; } export declare function Import(): Matcher; export declare class ImportAttributeMatcher extends Matcher { private readonly key?; private readonly value?; constructor(key?: Matcher | undefined, value?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ImportAttribute; } export declare function importAttribute(key?: Matcher, value?: Matcher): Matcher; export declare class ImportDeclarationMatcher extends Matcher { private readonly specifiers?; private readonly source?; constructor(specifiers?: Matcher<(t.ImportDefaultSpecifier | t.ImportNamespaceSpecifier | t.ImportSpecifier)[]> | (Matcher | Matcher | Matcher)[] | undefined, source?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ImportDeclaration; } export declare function importDeclaration(specifiers?: Matcher> | Array | Matcher | Matcher>, source?: Matcher): Matcher; export declare class ImportDefaultSpecifierMatcher extends Matcher { private readonly local?; constructor(local?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ImportDefaultSpecifier; } export declare function importDefaultSpecifier(local?: Matcher): Matcher; export declare class ImportNamespaceSpecifierMatcher extends Matcher { private readonly local?; constructor(local?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ImportNamespaceSpecifier; } export declare function importNamespaceSpecifier(local?: Matcher): Matcher; export declare class ImportSpecifierMatcher extends Matcher { private readonly local?; private readonly imported?; constructor(local?: Matcher | undefined, imported?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ImportSpecifier; } export declare function importSpecifier(local?: Matcher, imported?: Matcher): Matcher; export declare class IndexedAccessTypeMatcher extends Matcher { private readonly objectType?; private readonly indexType?; constructor(objectType?: Matcher | undefined, indexType?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.IndexedAccessType; } export declare function indexedAccessType(objectType?: Matcher, indexType?: Matcher): Matcher; export declare class InferredPredicateMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.InferredPredicate; } export declare function inferredPredicate(): Matcher; export declare class InterfaceDeclarationMatcher extends Matcher { private readonly id?; private readonly typeParameters?; private readonly _extends?; private readonly body?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined, _extends?: Matcher | Matcher[] | null | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.InterfaceDeclaration; } export declare function interfaceDeclaration(id?: Matcher, typeParameters?: Matcher | null, _extends?: Matcher> | Array> | null, body?: Matcher): Matcher; export declare class InterfaceExtendsMatcher extends Matcher { private readonly id?; private readonly typeParameters?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.InterfaceExtends; } export declare function interfaceExtends(id?: Matcher, typeParameters?: Matcher | null): Matcher; export declare class InterfaceTypeAnnotationMatcher extends Matcher { private readonly _extends?; private readonly body?; constructor(_extends?: Matcher | Matcher[] | null | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.InterfaceTypeAnnotation; } export declare function interfaceTypeAnnotation(_extends?: Matcher> | Array> | null, body?: Matcher): Matcher; export declare class InterpreterDirectiveMatcher extends Matcher { private readonly value?; constructor(value?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.InterpreterDirective; } export declare function interpreterDirective(value?: Matcher | string): Matcher; export declare class IntersectionTypeAnnotationMatcher extends Matcher { private readonly types?; constructor(types?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.IntersectionTypeAnnotation; } export declare function intersectionTypeAnnotation(types?: Matcher> | Array>): Matcher; export declare class JSXAttributeMatcher extends Matcher { private readonly name?; private readonly value?; constructor(name?: Matcher | undefined, value?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXAttribute; } export declare function jsxAttribute(name?: Matcher, value?: Matcher | null): Matcher; export declare class JSXClosingElementMatcher extends Matcher { private readonly name?; constructor(name?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXClosingElement; } export declare function jsxClosingElement(name?: Matcher): Matcher; export declare class JSXClosingFragmentMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXClosingFragment; } export declare function jsxClosingFragment(): Matcher; export declare class JSXElementMatcher extends Matcher { private readonly openingElement?; private readonly closingElement?; private readonly children?; private readonly selfClosing?; constructor(openingElement?: Matcher | undefined, closingElement?: Matcher | null | undefined, children?: Matcher<(t.JSXElement | t.JSXExpressionContainer | t.JSXFragment | t.JSXSpreadChild | t.JSXText)[]> | (Matcher | Matcher | Matcher | Matcher | Matcher)[] | undefined, selfClosing?: boolean | Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXElement; } export declare function jsxElement(openingElement?: Matcher, closingElement?: Matcher | null, children?: Matcher> | Array | Matcher | Matcher | Matcher | Matcher>, selfClosing?: Matcher | boolean | null): Matcher; export declare class JSXEmptyExpressionMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXEmptyExpression; } export declare function jsxEmptyExpression(): Matcher; export declare class JSXExpressionContainerMatcher extends Matcher { private readonly expression?; constructor(expression?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXExpressionContainer; } export declare function jsxExpressionContainer(expression?: Matcher): Matcher; export declare class JSXFragmentMatcher extends Matcher { private readonly openingFragment?; private readonly closingFragment?; private readonly children?; constructor(openingFragment?: Matcher | undefined, closingFragment?: Matcher | undefined, children?: Matcher<(t.JSXElement | t.JSXExpressionContainer | t.JSXFragment | t.JSXSpreadChild | t.JSXText)[]> | (Matcher | Matcher | Matcher | Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXFragment; } export declare function jsxFragment(openingFragment?: Matcher, closingFragment?: Matcher, children?: Matcher> | Array | Matcher | Matcher | Matcher | Matcher>): Matcher; export declare class JSXIdentifierMatcher extends Matcher { private readonly name?; constructor(name?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXIdentifier; } export declare function jsxIdentifier(name?: Matcher | string): Matcher; export declare class JSXMemberExpressionMatcher extends Matcher { private readonly object?; private readonly property?; constructor(object?: Matcher | undefined, property?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXMemberExpression; } export declare function jsxMemberExpression(object?: Matcher, property?: Matcher): Matcher; export declare class JSXNamespacedNameMatcher extends Matcher { private readonly namespace?; private readonly name?; constructor(namespace?: Matcher | undefined, name?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXNamespacedName; } export declare function jsxNamespacedName(namespace?: Matcher, name?: Matcher): Matcher; export declare class JSXOpeningElementMatcher extends Matcher { private readonly name?; private readonly attributes?; private readonly selfClosing?; constructor(name?: Matcher | undefined, attributes?: Matcher<(t.JSXAttribute | t.JSXSpreadAttribute)[]> | (Matcher | Matcher)[] | undefined, selfClosing?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXOpeningElement; } export declare function jsxOpeningElement(name?: Matcher, attributes?: Matcher> | Array | Matcher>, selfClosing?: Matcher | boolean): Matcher; export declare class JSXOpeningFragmentMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXOpeningFragment; } export declare function jsxOpeningFragment(): Matcher; export declare class JSXSpreadAttributeMatcher extends Matcher { private readonly argument?; constructor(argument?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXSpreadAttribute; } export declare function jsxSpreadAttribute(argument?: Matcher): Matcher; export declare class JSXSpreadChildMatcher extends Matcher { private readonly expression?; constructor(expression?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXSpreadChild; } export declare function jsxSpreadChild(expression?: Matcher): Matcher; export declare class JSXTextMatcher extends Matcher { private readonly value?; constructor(value?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.JSXText; } export declare function jsxText(value?: Matcher | string): Matcher; export declare class LabeledStatementMatcher extends Matcher { private readonly label?; private readonly body?; constructor(label?: Matcher | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.LabeledStatement; } export declare function labeledStatement(label?: Matcher, body?: Matcher): Matcher; export declare class LogicalExpressionMatcher extends Matcher { private readonly operator?; private readonly left?; private readonly right?; constructor(operator?: string | Matcher<"||" | "&&" | "??"> | undefined, left?: Matcher | undefined, right?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.LogicalExpression; } export declare function logicalExpression(operator?: Matcher<'||' | '&&' | '??'> | string, left?: Matcher, right?: Matcher): Matcher; export declare class MemberExpressionMatcher extends Matcher { private readonly object?; private readonly property?; private readonly computed?; private readonly optional?; constructor(object?: Matcher | undefined, property?: Matcher | undefined, computed?: boolean | Matcher | undefined, optional?: boolean | Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.MemberExpression; } export declare function memberExpression(object?: Matcher, property?: Matcher, computed?: Matcher | boolean, optional?: Matcher | boolean | null): Matcher; export declare class MetaPropertyMatcher extends Matcher { private readonly meta?; private readonly property?; constructor(meta?: Matcher | undefined, property?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.MetaProperty; } export declare function metaProperty(meta?: Matcher, property?: Matcher): Matcher; export declare class MixedTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.MixedTypeAnnotation; } export declare function mixedTypeAnnotation(): Matcher; export declare class ModuleExpressionMatcher extends Matcher { private readonly body?; constructor(body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ModuleExpression; } export declare function moduleExpression(body?: Matcher): Matcher; export declare class NewExpressionMatcher extends Matcher { private readonly callee?; private readonly _arguments?; constructor(callee?: Matcher | undefined, _arguments?: Matcher<(t.ArgumentPlaceholder | t.JSXNamespacedName | t.SpreadElement | t.Expression)[]> | (Matcher | Matcher | Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.NewExpression; } export declare function newExpression(callee?: Matcher, _arguments?: Matcher> | Array | Matcher | Matcher | Matcher>): Matcher; export declare class NoopMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.Noop; } export declare function noop(): Matcher; export declare class NullLiteralMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.NullLiteral; } export declare function nullLiteral(): Matcher; export declare class NullLiteralTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.NullLiteralTypeAnnotation; } export declare function nullLiteralTypeAnnotation(): Matcher; export declare class NullableTypeAnnotationMatcher extends Matcher { private readonly typeAnnotation?; constructor(typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.NullableTypeAnnotation; } export declare function nullableTypeAnnotation(typeAnnotation?: Matcher): Matcher; export declare class NumberLiteralTypeAnnotationMatcher extends Matcher { private readonly value?; constructor(value?: number | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.NumberLiteralTypeAnnotation; } export declare function numberLiteralTypeAnnotation(value?: Matcher | number): Matcher; export declare class NumberTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.NumberTypeAnnotation; } export declare function numberTypeAnnotation(): Matcher; export declare class NumericLiteralMatcher extends Matcher { private readonly value?; constructor(value?: number | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.NumericLiteral; } export declare function numericLiteral(value?: Matcher | number): Matcher; export declare class ObjectExpressionMatcher extends Matcher { private readonly properties?; constructor(properties?: Matcher<(t.ObjectMethod | t.ObjectProperty | t.SpreadElement)[]> | (Matcher | Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ObjectExpression; } export declare function objectExpression(properties?: Matcher> | Array | Matcher | Matcher>): Matcher; export declare class ObjectMethodMatcher extends Matcher { private readonly kind?; private readonly key?; private readonly params?; private readonly body?; private readonly computed?; private readonly generator?; private readonly async?; constructor(kind?: string | Matcher<"method" | "get" | "set"> | undefined, key?: Matcher | undefined, params?: Matcher<(t.Identifier | t.RestElement | t.Pattern)[]> | (Matcher | Matcher | Matcher)[] | undefined, body?: Matcher | undefined, computed?: boolean | Matcher | undefined, generator?: boolean | Matcher | undefined, async?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ObjectMethod; } export declare function objectMethod(kind?: Matcher<'method' | 'get' | 'set'> | string, key?: Matcher, params?: Matcher> | Array | Matcher | Matcher>, body?: Matcher, computed?: Matcher | boolean, generator?: Matcher | boolean, async?: Matcher | boolean): Matcher; export declare class ObjectPatternMatcher extends Matcher { private readonly properties?; constructor(properties?: Matcher<(t.ObjectProperty | t.RestElement)[]> | (Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ObjectPattern; } export declare function objectPattern(properties?: Matcher> | Array | Matcher>): Matcher; export declare class ObjectPropertyMatcher extends Matcher { private readonly key?; private readonly value?; private readonly computed?; private readonly shorthand?; private readonly decorators?; constructor(key?: Matcher | undefined, value?: Matcher | undefined, computed?: boolean | Matcher | undefined, shorthand?: boolean | Matcher | undefined, decorators?: Matcher | Matcher[] | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ObjectProperty; } export declare function objectProperty(key?: Matcher, value?: Matcher, computed?: Matcher | boolean, shorthand?: Matcher | boolean, decorators?: Matcher> | Array> | null): Matcher; export declare class ObjectTypeAnnotationMatcher extends Matcher { private readonly properties?; private readonly indexers?; private readonly callProperties?; private readonly internalSlots?; private readonly exact?; constructor(properties?: Matcher<(t.ObjectTypeProperty | t.ObjectTypeSpreadProperty)[]> | (Matcher | Matcher)[] | undefined, indexers?: Matcher | Matcher[] | null | undefined, callProperties?: Matcher | Matcher[] | null | undefined, internalSlots?: Matcher | Matcher[] | null | undefined, exact?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ObjectTypeAnnotation; } export declare function objectTypeAnnotation(properties?: Matcher> | Array | Matcher>, indexers?: Matcher> | Array> | null, callProperties?: Matcher> | Array> | null, internalSlots?: Matcher> | Array> | null, exact?: Matcher | boolean): Matcher; export declare class ObjectTypeCallPropertyMatcher extends Matcher { private readonly value?; constructor(value?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ObjectTypeCallProperty; } export declare function objectTypeCallProperty(value?: Matcher): Matcher; export declare class ObjectTypeIndexerMatcher extends Matcher { private readonly id?; private readonly key?; private readonly value?; private readonly variance?; constructor(id?: Matcher | null | undefined, key?: Matcher | undefined, value?: Matcher | undefined, variance?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ObjectTypeIndexer; } export declare function objectTypeIndexer(id?: Matcher | null, key?: Matcher, value?: Matcher, variance?: Matcher | null): Matcher; export declare class ObjectTypeInternalSlotMatcher extends Matcher { private readonly id?; private readonly value?; private readonly optional?; private readonly _static?; private readonly method?; constructor(id?: Matcher | undefined, value?: Matcher | undefined, optional?: boolean | Matcher | undefined, _static?: boolean | Matcher | undefined, method?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ObjectTypeInternalSlot; } export declare function objectTypeInternalSlot(id?: Matcher, value?: Matcher, optional?: Matcher | boolean, _static?: Matcher | boolean, method?: Matcher | boolean): Matcher; export declare class ObjectTypePropertyMatcher extends Matcher { private readonly key?; private readonly value?; private readonly variance?; constructor(key?: Matcher | undefined, value?: Matcher | undefined, variance?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ObjectTypeProperty; } export declare function objectTypeProperty(key?: Matcher, value?: Matcher, variance?: Matcher | null): Matcher; export declare class ObjectTypeSpreadPropertyMatcher extends Matcher { private readonly argument?; constructor(argument?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ObjectTypeSpreadProperty; } export declare function objectTypeSpreadProperty(argument?: Matcher): Matcher; export declare class OpaqueTypeMatcher extends Matcher { private readonly id?; private readonly typeParameters?; private readonly supertype?; private readonly impltype?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined, supertype?: Matcher | null | undefined, impltype?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.OpaqueType; } export declare function opaqueType(id?: Matcher, typeParameters?: Matcher | null, supertype?: Matcher | null, impltype?: Matcher): Matcher; export declare class OptionalCallExpressionMatcher extends Matcher { private readonly callee?; private readonly _arguments?; private readonly optional?; constructor(callee?: Matcher | undefined, _arguments?: Matcher<(t.ArgumentPlaceholder | t.JSXNamespacedName | t.SpreadElement | t.Expression)[]> | (Matcher | Matcher | Matcher | Matcher)[] | undefined, optional?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.OptionalCallExpression; } export declare function optionalCallExpression(callee?: Matcher, _arguments?: Matcher> | Array | Matcher | Matcher | Matcher>, optional?: Matcher | boolean): Matcher; export declare class OptionalIndexedAccessTypeMatcher extends Matcher { private readonly objectType?; private readonly indexType?; constructor(objectType?: Matcher | undefined, indexType?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.OptionalIndexedAccessType; } export declare function optionalIndexedAccessType(objectType?: Matcher, indexType?: Matcher): Matcher; export declare class OptionalMemberExpressionMatcher extends Matcher { private readonly object?; private readonly property?; private readonly computed?; private readonly optional?; constructor(object?: Matcher | undefined, property?: Matcher | undefined, computed?: boolean | Matcher | undefined, optional?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.OptionalMemberExpression; } export declare function optionalMemberExpression(object?: Matcher, property?: Matcher, computed?: Matcher | boolean, optional?: Matcher | boolean): Matcher; export declare class ParenthesizedExpressionMatcher extends Matcher { private readonly expression?; constructor(expression?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ParenthesizedExpression; } export declare function parenthesizedExpression(expression?: Matcher): Matcher; export declare class PipelineBareFunctionMatcher extends Matcher { private readonly callee?; constructor(callee?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.PipelineBareFunction; } export declare function pipelineBareFunction(callee?: Matcher): Matcher; export declare class PipelinePrimaryTopicReferenceMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.PipelinePrimaryTopicReference; } export declare function pipelinePrimaryTopicReference(): Matcher; export declare class PipelineTopicExpressionMatcher extends Matcher { private readonly expression?; constructor(expression?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.PipelineTopicExpression; } export declare function pipelineTopicExpression(expression?: Matcher): Matcher; export declare class PlaceholderMatcher extends Matcher { private readonly expectedNode?; private readonly name?; constructor(expectedNode?: string | Matcher<"BlockStatement" | "ClassBody" | "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "Pattern"> | undefined, name?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.Placeholder; } export declare function placeholder(expectedNode?: Matcher<'Identifier' | 'StringLiteral' | 'Expression' | 'Statement' | 'Declaration' | 'BlockStatement' | 'ClassBody' | 'Pattern'> | string, name?: Matcher): Matcher; export declare class PrivateNameMatcher extends Matcher { private readonly id?; constructor(id?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.PrivateName; } export declare function privateName(id?: Matcher): Matcher; export declare class ProgramMatcher extends Matcher { private readonly body?; private readonly directives?; private readonly sourceType?; private readonly interpreter?; constructor(body?: Matcher | Matcher[] | undefined, directives?: Matcher | Matcher[] | undefined, sourceType?: string | Matcher<"script" | "module"> | undefined, interpreter?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.Program; } export declare function program(body?: Matcher> | Array>, directives?: Matcher> | Array>, sourceType?: Matcher<'script' | 'module'> | string, interpreter?: Matcher | null): Matcher; export declare class QualifiedTypeIdentifierMatcher extends Matcher { private readonly id?; private readonly qualification?; constructor(id?: Matcher | undefined, qualification?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.QualifiedTypeIdentifier; } export declare function qualifiedTypeIdentifier(id?: Matcher, qualification?: Matcher): Matcher; export declare class RecordExpressionMatcher extends Matcher { private readonly properties?; constructor(properties?: Matcher<(t.ObjectProperty | t.SpreadElement)[]> | (Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.RecordExpression; } export declare function recordExpression(properties?: Matcher> | Array | Matcher>): Matcher; export declare class RegExpLiteralMatcher extends Matcher { private readonly pattern?; private readonly flags?; constructor(pattern?: string | Matcher | undefined, flags?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.RegExpLiteral; } export declare function regExpLiteral(pattern?: Matcher | string, flags?: Matcher | string): Matcher; export declare class RestElementMatcher extends Matcher { private readonly argument?; constructor(argument?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.RestElement; } export declare function restElement(argument?: Matcher): Matcher; export declare class ReturnStatementMatcher extends Matcher { private readonly argument?; constructor(argument?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ReturnStatement; } export declare function returnStatement(argument?: Matcher | null): Matcher; export declare class SequenceExpressionMatcher extends Matcher { private readonly expressions?; constructor(expressions?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.SequenceExpression; } export declare function sequenceExpression(expressions?: Matcher> | Array>): Matcher; export declare class SpreadElementMatcher extends Matcher { private readonly argument?; constructor(argument?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.SpreadElement; } export declare function spreadElement(argument?: Matcher): Matcher; export declare class StaticBlockMatcher extends Matcher { private readonly body?; constructor(body?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.StaticBlock; } export declare function staticBlock(body?: Matcher> | Array>): Matcher; export declare class StringLiteralMatcher extends Matcher { private readonly value?; constructor(value?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.StringLiteral; } export declare function stringLiteral(value?: Matcher | string): Matcher; export declare class StringLiteralTypeAnnotationMatcher extends Matcher { private readonly value?; constructor(value?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.StringLiteralTypeAnnotation; } export declare function stringLiteralTypeAnnotation(value?: Matcher | string): Matcher; export declare class StringTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.StringTypeAnnotation; } export declare function stringTypeAnnotation(): Matcher; export declare class SuperMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.Super; } export declare function Super(): Matcher; export declare class SwitchCaseMatcher extends Matcher { private readonly test?; private readonly consequent?; constructor(test?: Matcher | null | undefined, consequent?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.SwitchCase; } export declare function switchCase(test?: Matcher | null, consequent?: Matcher> | Array>): Matcher; export declare class SwitchStatementMatcher extends Matcher { private readonly discriminant?; private readonly cases?; constructor(discriminant?: Matcher | undefined, cases?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.SwitchStatement; } export declare function switchStatement(discriminant?: Matcher, cases?: Matcher> | Array>): Matcher; export declare class SymbolTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.SymbolTypeAnnotation; } export declare function symbolTypeAnnotation(): Matcher; export declare class TSAnyKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSAnyKeyword; } export declare function tsAnyKeyword(): Matcher; export declare class TSArrayTypeMatcher extends Matcher { private readonly elementType?; constructor(elementType?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSArrayType; } export declare function tsArrayType(elementType?: Matcher): Matcher; export declare class TSAsExpressionMatcher extends Matcher { private readonly expression?; private readonly typeAnnotation?; constructor(expression?: Matcher | undefined, typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSAsExpression; } export declare function tsAsExpression(expression?: Matcher, typeAnnotation?: Matcher): Matcher; export declare class TSBigIntKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSBigIntKeyword; } export declare function tsBigIntKeyword(): Matcher; export declare class TSBooleanKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSBooleanKeyword; } export declare function tsBooleanKeyword(): Matcher; export declare class TSCallSignatureDeclarationMatcher extends Matcher { private readonly typeParameters?; private readonly parameters?; private readonly typeAnnotation?; constructor(typeParameters?: Matcher | null | undefined, parameters?: Matcher<(t.Identifier | t.RestElement)[]> | (Matcher | Matcher)[] | undefined, typeAnnotation?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSCallSignatureDeclaration; } export declare function tsCallSignatureDeclaration(typeParameters?: Matcher | null, parameters?: Matcher> | Array | Matcher>, typeAnnotation?: Matcher | null): Matcher; export declare class TSConditionalTypeMatcher extends Matcher { private readonly checkType?; private readonly extendsType?; private readonly trueType?; private readonly falseType?; constructor(checkType?: Matcher | undefined, extendsType?: Matcher | undefined, trueType?: Matcher | undefined, falseType?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSConditionalType; } export declare function tsConditionalType(checkType?: Matcher, extendsType?: Matcher, trueType?: Matcher, falseType?: Matcher): Matcher; export declare class TSConstructSignatureDeclarationMatcher extends Matcher { private readonly typeParameters?; private readonly parameters?; private readonly typeAnnotation?; constructor(typeParameters?: Matcher | null | undefined, parameters?: Matcher<(t.Identifier | t.RestElement)[]> | (Matcher | Matcher)[] | undefined, typeAnnotation?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSConstructSignatureDeclaration; } export declare function tsConstructSignatureDeclaration(typeParameters?: Matcher | null, parameters?: Matcher> | Array | Matcher>, typeAnnotation?: Matcher | null): Matcher; export declare class TSConstructorTypeMatcher extends Matcher { private readonly typeParameters?; private readonly parameters?; private readonly typeAnnotation?; constructor(typeParameters?: Matcher | null | undefined, parameters?: Matcher<(t.Identifier | t.RestElement)[]> | (Matcher | Matcher)[] | undefined, typeAnnotation?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSConstructorType; } export declare function tsConstructorType(typeParameters?: Matcher | null, parameters?: Matcher> | Array | Matcher>, typeAnnotation?: Matcher | null): Matcher; export declare class TSDeclareFunctionMatcher extends Matcher { private readonly id?; private readonly typeParameters?; private readonly params?; private readonly returnType?; constructor(id?: Matcher | null | undefined, typeParameters?: Matcher | null | undefined, params?: Matcher<(t.Identifier | t.RestElement | t.Pattern)[]> | (Matcher | Matcher | Matcher)[] | undefined, returnType?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSDeclareFunction; } export declare function tsDeclareFunction(id?: Matcher | null, typeParameters?: Matcher | null, params?: Matcher> | Array | Matcher | Matcher>, returnType?: Matcher | null): Matcher; export declare class TSDeclareMethodMatcher extends Matcher { private readonly decorators?; private readonly key?; private readonly typeParameters?; private readonly params?; private readonly returnType?; constructor(decorators?: Matcher | Matcher[] | null | undefined, key?: Matcher | undefined, typeParameters?: Matcher | null | undefined, params?: Matcher<(t.Identifier | t.RestElement | t.TSParameterProperty | t.Pattern)[]> | (Matcher | Matcher | Matcher | Matcher)[] | undefined, returnType?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSDeclareMethod; } export declare function tsDeclareMethod(decorators?: Matcher> | Array> | null, key?: Matcher, typeParameters?: Matcher | null, params?: Matcher> | Array | Matcher | Matcher | Matcher>, returnType?: Matcher | null): Matcher; export declare class TSEnumDeclarationMatcher extends Matcher { private readonly id?; private readonly members?; constructor(id?: Matcher | undefined, members?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSEnumDeclaration; } export declare function tsEnumDeclaration(id?: Matcher, members?: Matcher> | Array>): Matcher; export declare class TSEnumMemberMatcher extends Matcher { private readonly id?; private readonly initializer?; constructor(id?: Matcher | undefined, initializer?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSEnumMember; } export declare function tsEnumMember(id?: Matcher, initializer?: Matcher | null): Matcher; export declare class TSExportAssignmentMatcher extends Matcher { private readonly expression?; constructor(expression?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSExportAssignment; } export declare function tsExportAssignment(expression?: Matcher): Matcher; export declare class TSExpressionWithTypeArgumentsMatcher extends Matcher { private readonly expression?; private readonly typeParameters?; constructor(expression?: Matcher | undefined, typeParameters?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSExpressionWithTypeArguments; } export declare function tsExpressionWithTypeArguments(expression?: Matcher, typeParameters?: Matcher | null): Matcher; export declare class TSExternalModuleReferenceMatcher extends Matcher { private readonly expression?; constructor(expression?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSExternalModuleReference; } export declare function tsExternalModuleReference(expression?: Matcher): Matcher; export declare class TSFunctionTypeMatcher extends Matcher { private readonly typeParameters?; private readonly parameters?; private readonly typeAnnotation?; constructor(typeParameters?: Matcher | null | undefined, parameters?: Matcher<(t.Identifier | t.RestElement)[]> | (Matcher | Matcher)[] | undefined, typeAnnotation?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSFunctionType; } export declare function tsFunctionType(typeParameters?: Matcher | null, parameters?: Matcher> | Array | Matcher>, typeAnnotation?: Matcher | null): Matcher; export declare class TSImportEqualsDeclarationMatcher extends Matcher { private readonly id?; private readonly moduleReference?; constructor(id?: Matcher | undefined, moduleReference?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSImportEqualsDeclaration; } export declare function tsImportEqualsDeclaration(id?: Matcher, moduleReference?: Matcher): Matcher; export declare class TSImportTypeMatcher extends Matcher { private readonly argument?; private readonly qualifier?; private readonly typeParameters?; constructor(argument?: Matcher | undefined, qualifier?: Matcher | null | undefined, typeParameters?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSImportType; } export declare function tsImportType(argument?: Matcher, qualifier?: Matcher | null, typeParameters?: Matcher | null): Matcher; export declare class TSIndexSignatureMatcher extends Matcher { private readonly parameters?; private readonly typeAnnotation?; constructor(parameters?: Matcher | Matcher[] | undefined, typeAnnotation?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSIndexSignature; } export declare function tsIndexSignature(parameters?: Matcher> | Array>, typeAnnotation?: Matcher | null): Matcher; export declare class TSIndexedAccessTypeMatcher extends Matcher { private readonly objectType?; private readonly indexType?; constructor(objectType?: Matcher | undefined, indexType?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSIndexedAccessType; } export declare function tsIndexedAccessType(objectType?: Matcher, indexType?: Matcher): Matcher; export declare class TSInferTypeMatcher extends Matcher { private readonly typeParameter?; constructor(typeParameter?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSInferType; } export declare function tsInferType(typeParameter?: Matcher): Matcher; export declare class TSInstantiationExpressionMatcher extends Matcher { private readonly expression?; private readonly typeParameters?; constructor(expression?: Matcher | undefined, typeParameters?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSInstantiationExpression; } export declare function tsInstantiationExpression(expression?: Matcher, typeParameters?: Matcher | null): Matcher; export declare class TSInterfaceBodyMatcher extends Matcher { private readonly body?; constructor(body?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSInterfaceBody; } export declare function tsInterfaceBody(body?: Matcher> | Array>): Matcher; export declare class TSInterfaceDeclarationMatcher extends Matcher { private readonly id?; private readonly typeParameters?; private readonly _extends?; private readonly body?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined, _extends?: Matcher | Matcher[] | null | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSInterfaceDeclaration; } export declare function tsInterfaceDeclaration(id?: Matcher, typeParameters?: Matcher | null, _extends?: Matcher> | Array> | null, body?: Matcher): Matcher; export declare class TSIntersectionTypeMatcher extends Matcher { private readonly types?; constructor(types?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSIntersectionType; } export declare function tsIntersectionType(types?: Matcher> | Array>): Matcher; export declare class TSIntrinsicKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSIntrinsicKeyword; } export declare function tsIntrinsicKeyword(): Matcher; export declare class TSLiteralTypeMatcher extends Matcher { private readonly literal?; constructor(literal?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSLiteralType; } export declare function tsLiteralType(literal?: Matcher): Matcher; export declare class TSMappedTypeMatcher extends Matcher { private readonly typeParameter?; private readonly typeAnnotation?; private readonly nameType?; constructor(typeParameter?: Matcher | undefined, typeAnnotation?: Matcher | null | undefined, nameType?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSMappedType; } export declare function tsMappedType(typeParameter?: Matcher, typeAnnotation?: Matcher | null, nameType?: Matcher | null): Matcher; export declare class TSMethodSignatureMatcher extends Matcher { private readonly key?; private readonly typeParameters?; private readonly parameters?; private readonly typeAnnotation?; constructor(key?: Matcher | undefined, typeParameters?: Matcher | null | undefined, parameters?: Matcher<(t.Identifier | t.RestElement)[]> | (Matcher | Matcher)[] | undefined, typeAnnotation?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSMethodSignature; } export declare function tsMethodSignature(key?: Matcher, typeParameters?: Matcher | null, parameters?: Matcher> | Array | Matcher>, typeAnnotation?: Matcher | null): Matcher; export declare class TSModuleBlockMatcher extends Matcher { private readonly body?; constructor(body?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSModuleBlock; } export declare function tsModuleBlock(body?: Matcher> | Array>): Matcher; export declare class TSModuleDeclarationMatcher extends Matcher { private readonly id?; private readonly body?; constructor(id?: Matcher | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSModuleDeclaration; } export declare function tsModuleDeclaration(id?: Matcher, body?: Matcher): Matcher; export declare class TSNamedTupleMemberMatcher extends Matcher { private readonly label?; private readonly elementType?; private readonly optional?; constructor(label?: Matcher | undefined, elementType?: Matcher | undefined, optional?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSNamedTupleMember; } export declare function tsNamedTupleMember(label?: Matcher, elementType?: Matcher, optional?: Matcher | boolean): Matcher; export declare class TSNamespaceExportDeclarationMatcher extends Matcher { private readonly id?; constructor(id?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSNamespaceExportDeclaration; } export declare function tsNamespaceExportDeclaration(id?: Matcher): Matcher; export declare class TSNeverKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSNeverKeyword; } export declare function tsNeverKeyword(): Matcher; export declare class TSNonNullExpressionMatcher extends Matcher { private readonly expression?; constructor(expression?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSNonNullExpression; } export declare function tsNonNullExpression(expression?: Matcher): Matcher; export declare class TSNullKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSNullKeyword; } export declare function tsNullKeyword(): Matcher; export declare class TSNumberKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSNumberKeyword; } export declare function tsNumberKeyword(): Matcher; export declare class TSObjectKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSObjectKeyword; } export declare function tsObjectKeyword(): Matcher; export declare class TSOptionalTypeMatcher extends Matcher { private readonly typeAnnotation?; constructor(typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSOptionalType; } export declare function tsOptionalType(typeAnnotation?: Matcher): Matcher; export declare class TSParameterPropertyMatcher extends Matcher { private readonly parameter?; constructor(parameter?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSParameterProperty; } export declare function tsParameterProperty(parameter?: Matcher): Matcher; export declare class TSParenthesizedTypeMatcher extends Matcher { private readonly typeAnnotation?; constructor(typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSParenthesizedType; } export declare function tsParenthesizedType(typeAnnotation?: Matcher): Matcher; export declare class TSPropertySignatureMatcher extends Matcher { private readonly key?; private readonly typeAnnotation?; private readonly initializer?; constructor(key?: Matcher | undefined, typeAnnotation?: Matcher | null | undefined, initializer?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSPropertySignature; } export declare function tsPropertySignature(key?: Matcher, typeAnnotation?: Matcher | null, initializer?: Matcher | null): Matcher; export declare class TSQualifiedNameMatcher extends Matcher { private readonly left?; private readonly right?; constructor(left?: Matcher | undefined, right?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSQualifiedName; } export declare function tsQualifiedName(left?: Matcher, right?: Matcher): Matcher; export declare class TSRestTypeMatcher extends Matcher { private readonly typeAnnotation?; constructor(typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSRestType; } export declare function tsRestType(typeAnnotation?: Matcher): Matcher; export declare class TSSatisfiesExpressionMatcher extends Matcher { private readonly expression?; private readonly typeAnnotation?; constructor(expression?: Matcher | undefined, typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSSatisfiesExpression; } export declare function tsSatisfiesExpression(expression?: Matcher, typeAnnotation?: Matcher): Matcher; export declare class TSStringKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSStringKeyword; } export declare function tsStringKeyword(): Matcher; export declare class TSSymbolKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSSymbolKeyword; } export declare function tsSymbolKeyword(): Matcher; export declare class TSThisTypeMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSThisType; } export declare function tsThisType(): Matcher; export declare class TSTupleTypeMatcher extends Matcher { private readonly elementTypes?; constructor(elementTypes?: Matcher<(t.TSNamedTupleMember | t.TSType)[]> | (Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTupleType; } export declare function tsTupleType(elementTypes?: Matcher> | Array | Matcher>): Matcher; export declare class TSTypeAliasDeclarationMatcher extends Matcher { private readonly id?; private readonly typeParameters?; private readonly typeAnnotation?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined, typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypeAliasDeclaration; } export declare function tsTypeAliasDeclaration(id?: Matcher, typeParameters?: Matcher | null, typeAnnotation?: Matcher): Matcher; export declare class TSTypeAnnotationMatcher extends Matcher { private readonly typeAnnotation?; constructor(typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypeAnnotation; } export declare function tsTypeAnnotation(typeAnnotation?: Matcher): Matcher; export declare class TSTypeAssertionMatcher extends Matcher { private readonly typeAnnotation?; private readonly expression?; constructor(typeAnnotation?: Matcher | undefined, expression?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypeAssertion; } export declare function tsTypeAssertion(typeAnnotation?: Matcher, expression?: Matcher): Matcher; export declare class TSTypeLiteralMatcher extends Matcher { private readonly members?; constructor(members?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypeLiteral; } export declare function tsTypeLiteral(members?: Matcher> | Array>): Matcher; export declare class TSTypeOperatorMatcher extends Matcher { private readonly typeAnnotation?; constructor(typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypeOperator; } export declare function tsTypeOperator(typeAnnotation?: Matcher): Matcher; export declare class TSTypeParameterMatcher extends Matcher { private readonly constraint?; private readonly _default?; private readonly name?; constructor(constraint?: Matcher | null | undefined, _default?: Matcher | null | undefined, name?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypeParameter; } export declare function tsTypeParameter(constraint?: Matcher | null, _default?: Matcher | null, name?: Matcher | string): Matcher; export declare class TSTypeParameterDeclarationMatcher extends Matcher { private readonly params?; constructor(params?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypeParameterDeclaration; } export declare function tsTypeParameterDeclaration(params?: Matcher> | Array>): Matcher; export declare class TSTypeParameterInstantiationMatcher extends Matcher { private readonly params?; constructor(params?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypeParameterInstantiation; } export declare function tsTypeParameterInstantiation(params?: Matcher> | Array>): Matcher; export declare class TSTypePredicateMatcher extends Matcher { private readonly parameterName?; private readonly typeAnnotation?; private readonly asserts?; constructor(parameterName?: Matcher | undefined, typeAnnotation?: Matcher | null | undefined, asserts?: boolean | Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypePredicate; } export declare function tsTypePredicate(parameterName?: Matcher, typeAnnotation?: Matcher | null, asserts?: Matcher | boolean | null): Matcher; export declare class TSTypeQueryMatcher extends Matcher { private readonly exprName?; private readonly typeParameters?; constructor(exprName?: Matcher | undefined, typeParameters?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypeQuery; } export declare function tsTypeQuery(exprName?: Matcher, typeParameters?: Matcher | null): Matcher; export declare class TSTypeReferenceMatcher extends Matcher { private readonly typeName?; private readonly typeParameters?; constructor(typeName?: Matcher | undefined, typeParameters?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSTypeReference; } export declare function tsTypeReference(typeName?: Matcher, typeParameters?: Matcher | null): Matcher; export declare class TSUndefinedKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSUndefinedKeyword; } export declare function tsUndefinedKeyword(): Matcher; export declare class TSUnionTypeMatcher extends Matcher { private readonly types?; constructor(types?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSUnionType; } export declare function tsUnionType(types?: Matcher> | Array>): Matcher; export declare class TSUnknownKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSUnknownKeyword; } export declare function tsUnknownKeyword(): Matcher; export declare class TSVoidKeywordMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TSVoidKeyword; } export declare function tsVoidKeyword(): Matcher; export declare class TaggedTemplateExpressionMatcher extends Matcher { private readonly tag?; private readonly quasi?; constructor(tag?: Matcher | undefined, quasi?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TaggedTemplateExpression; } export declare function taggedTemplateExpression(tag?: Matcher, quasi?: Matcher): Matcher; export declare class TemplateElementMatcher extends Matcher { private readonly value?; private readonly tail?; constructor(value?: Matcher | undefined, tail?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TemplateElement; } export declare function templateElement(value?: Matcher, tail?: Matcher | boolean): Matcher; export declare class TemplateLiteralMatcher extends Matcher { private readonly quasis?; private readonly expressions?; constructor(quasis?: Matcher | Matcher[] | undefined, expressions?: Matcher<(t.Expression | t.TSType)[]> | (Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TemplateLiteral; } export declare function templateLiteral(quasis?: Matcher> | Array>, expressions?: Matcher> | Array | Matcher>): Matcher; export declare class ThisExpressionMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.ThisExpression; } export declare function thisExpression(): Matcher; export declare class ThisTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.ThisTypeAnnotation; } export declare function thisTypeAnnotation(): Matcher; export declare class ThrowStatementMatcher extends Matcher { private readonly argument?; constructor(argument?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.ThrowStatement; } export declare function throwStatement(argument?: Matcher): Matcher; export declare class TopicReferenceMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.TopicReference; } export declare function topicReference(): Matcher; export declare class TryStatementMatcher extends Matcher { private readonly block?; private readonly handler?; private readonly finalizer?; constructor(block?: Matcher | undefined, handler?: Matcher | null | undefined, finalizer?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TryStatement; } export declare function tryStatement(block?: Matcher, handler?: Matcher | null, finalizer?: Matcher | null): Matcher; export declare class TupleExpressionMatcher extends Matcher { private readonly elements?; constructor(elements?: Matcher<(t.SpreadElement | t.Expression)[]> | (Matcher | Matcher)[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TupleExpression; } export declare function tupleExpression(elements?: Matcher> | Array | Matcher>): Matcher; export declare class TupleTypeAnnotationMatcher extends Matcher { private readonly types?; constructor(types?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TupleTypeAnnotation; } export declare function tupleTypeAnnotation(types?: Matcher> | Array>): Matcher; export declare class TypeAliasMatcher extends Matcher { private readonly id?; private readonly typeParameters?; private readonly right?; constructor(id?: Matcher | undefined, typeParameters?: Matcher | null | undefined, right?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TypeAlias; } export declare function typeAlias(id?: Matcher, typeParameters?: Matcher | null, right?: Matcher): Matcher; export declare class TypeAnnotationMatcher extends Matcher { private readonly typeAnnotation?; constructor(typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TypeAnnotation; } export declare function typeAnnotation(typeAnnotation?: Matcher): Matcher; export declare class TypeCastExpressionMatcher extends Matcher { private readonly expression?; private readonly typeAnnotation?; constructor(expression?: Matcher | undefined, typeAnnotation?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TypeCastExpression; } export declare function typeCastExpression(expression?: Matcher, typeAnnotation?: Matcher): Matcher; export declare class TypeParameterMatcher extends Matcher { private readonly bound?; private readonly _default?; private readonly variance?; constructor(bound?: Matcher | null | undefined, _default?: Matcher | null | undefined, variance?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TypeParameter; } export declare function typeParameter(bound?: Matcher | null, _default?: Matcher | null, variance?: Matcher | null): Matcher; export declare class TypeParameterDeclarationMatcher extends Matcher { private readonly params?; constructor(params?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TypeParameterDeclaration; } export declare function typeParameterDeclaration(params?: Matcher> | Array>): Matcher; export declare class TypeParameterInstantiationMatcher extends Matcher { private readonly params?; constructor(params?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TypeParameterInstantiation; } export declare function typeParameterInstantiation(params?: Matcher> | Array>): Matcher; export declare class TypeofTypeAnnotationMatcher extends Matcher { private readonly argument?; constructor(argument?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.TypeofTypeAnnotation; } export declare function typeofTypeAnnotation(argument?: Matcher): Matcher; export declare class UnaryExpressionMatcher extends Matcher { private readonly operator?; private readonly argument?; private readonly prefix?; constructor(operator?: string | Matcher<"+" | "-" | "void" | "throw" | "delete" | "!" | "~" | "typeof"> | undefined, argument?: Matcher | undefined, prefix?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.UnaryExpression; } export declare function unaryExpression(operator?: Matcher<'void' | 'throw' | 'delete' | '!' | '+' | '-' | '~' | 'typeof'> | string, argument?: Matcher, prefix?: Matcher | boolean): Matcher; export declare class UnionTypeAnnotationMatcher extends Matcher { private readonly types?; constructor(types?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.UnionTypeAnnotation; } export declare function unionTypeAnnotation(types?: Matcher> | Array>): Matcher; export declare class UpdateExpressionMatcher extends Matcher { private readonly operator?; private readonly argument?; private readonly prefix?; constructor(operator?: string | Matcher<"++" | "--"> | undefined, argument?: Matcher | undefined, prefix?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.UpdateExpression; } export declare function updateExpression(operator?: Matcher<'++' | '--'> | string, argument?: Matcher, prefix?: Matcher | boolean): Matcher; export declare class V8IntrinsicIdentifierMatcher extends Matcher { private readonly name?; constructor(name?: string | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.V8IntrinsicIdentifier; } export declare function v8IntrinsicIdentifier(name?: Matcher | string): Matcher; export declare class VariableDeclarationMatcher extends Matcher { private readonly kind?; private readonly declarations?; constructor(kind?: string | Matcher<"var" | "let" | "const" | "using"> | undefined, declarations?: Matcher | Matcher[] | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.VariableDeclaration; } export declare function variableDeclaration(kind?: Matcher<'var' | 'let' | 'const' | 'using'> | string, declarations?: Matcher> | Array>): Matcher; export declare class VariableDeclaratorMatcher extends Matcher { private readonly id?; private readonly init?; constructor(id?: Matcher | undefined, init?: Matcher | null | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.VariableDeclarator; } export declare function variableDeclarator(id?: Matcher, init?: Matcher | null): Matcher; export declare class VarianceMatcher extends Matcher { private readonly kind?; constructor(kind?: string | Matcher<"minus" | "plus"> | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.Variance; } export declare function variance(kind?: Matcher<'minus' | 'plus'> | string): Matcher; export declare class VoidTypeAnnotationMatcher extends Matcher { constructor(); matchValue(node: unknown, keys: ReadonlyArray): node is t.VoidTypeAnnotation; } export declare function voidTypeAnnotation(): Matcher; export declare class WhileStatementMatcher extends Matcher { private readonly test?; private readonly body?; constructor(test?: Matcher | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.WhileStatement; } export declare function whileStatement(test?: Matcher, body?: Matcher): Matcher; export declare class WithStatementMatcher extends Matcher { private readonly object?; private readonly body?; constructor(object?: Matcher | undefined, body?: Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.WithStatement; } export declare function withStatement(object?: Matcher, body?: Matcher): Matcher; export declare class YieldExpressionMatcher extends Matcher { private readonly argument?; private readonly delegate?; constructor(argument?: Matcher | null | undefined, delegate?: boolean | Matcher | undefined); matchValue(node: unknown, keys: ReadonlyArray): node is t.YieldExpression; } export declare function yieldExpression(argument?: Matcher | null, delegate?: Matcher | boolean): Matcher;