import { TSESTree } from '@typescript-eslint/utils'; import { AnyFunction, Scope } from './config'; import { Guard } from './guard'; export declare class Writer { guard: Guard; isTsx: Scope['isTsx']; options: Scope['options']; sourceCode: Scope['sourceCode']; constructor(scope: Scope, guard: Guard); getBodySource({ body }: AnyFunction): string; getParamsSource(params: TSESTree.Parameter[]): string[]; getFunctionName(node: AnyFunction): string; getGenericSource(fn: AnyFunction): string; getReturnType(node: AnyFunction): string | undefined; writeArrowFunction(node: AnyFunction): string; writeArrowConstant(node: TSESTree.FunctionDeclaration): string; needsParentheses(node: AnyFunction): boolean; getFunctionDescriptor(node: AnyFunction): { body: string; isAsync: boolean; isGenerator: boolean; isGeneric: boolean; name: string; generic: string; params: string[]; returnType: string | undefined; }; }