import { TSESTree, AST_NODE_TYPES } from '@typescript-eslint/utils'; import { AnyFunction, AnyFunctionBody, Scope, GeneratorFunction, NamedFunction, WithTypeParameters } from './config'; export declare class Guard { isTsx: Scope['isTsx']; options: Scope['options']; sourceCode: Scope['sourceCode']; constructor(scope: Scope); isAnyFunction(value: TSESTree.Node): value is AnyFunction; isReturnStatement(value: unknown): value is TSESTree.ReturnStatement; isBlockStatementWithSingleReturn(body: AnyFunctionBody): body is TSESTree.BlockStatement & { body: [TSESTree.ReturnStatement & { argument: TSESTree.Expression; }]; }; hasImplicitReturn(body: AnyFunctionBody): body is Exclude; returnsImmediately(fn: AnyFunction): boolean; isExportedAsNamedExport(node: AnyFunction): boolean; getPreviousNode(fn: AnyFunction): TSESTree.Node | null; isOverloadedFunction(fn: AnyFunction): boolean; hasTypeParameters(fn: T): fn is WithTypeParameters; isAsyncFunction(node: AnyFunction): boolean; isGeneratorFunction(fn: AnyFunction): fn is GeneratorFunction; isAssertionFunction(fn: T): fn is T & { returnType: TSESTree.TSTypeAnnotation; }; containsToken(type: string, value: string, node: TSESTree.Node): boolean; containsSuper(node: TSESTree.Node): boolean; containsThis(node: TSESTree.Node): boolean; containsThisDirectly(node: TSESTree.Node): boolean; containsArguments(node: TSESTree.Node): boolean; hasThisParameter(fn: AnyFunction): boolean; containsTokenSequence(sequence: [string, string][], node: TSESTree.Node): boolean; containsNewDotTarget(node: TSESTree.Node): boolean; isPrototypeAssignment(node: AnyFunction): boolean; isWithinClassBody(node: TSESTree.Node): boolean; isNamedFunction(fn: AnyFunction): fn is NamedFunction; isNamedFunctionExpression(fn: AnyFunction): fn is NamedFunction & TSESTree.FunctionExpression; isNamedFunctionDeclaration(fn: AnyFunction): fn is NamedFunction & TSESTree.FunctionDeclaration; hasNameAndIsExportedAsDefaultExport(fn: AnyFunction): fn is NamedFunction; isIgnored(fn: AnyFunction): boolean; isObjectProperty(fn: AnyFunction): boolean; isSafeTransformation(fn: TSESTree.Node): fn is AnyFunction; }