import { type TSESTree } from '@typescript-eslint/typescript-estree'; type Node = TSESTree.Node; export declare class ExtractedTestCase { readonly testNode: TSESTree.FunctionExpression | TSESTree.ArrowFunctionExpression; readonly description: string[]; readonly test: string; readonly expectations: ExtractedExpectation[]; readonly topLevelDescribe: Node | null; readonly topLevelIndex: number; constructor(testNode: TSESTree.FunctionExpression | TSESTree.ArrowFunctionExpression, description: string[], test: string, expectations: ExtractedExpectation[], topLevelDescribe: Node | null, topLevelIndex: number); name(glue?: string): string; testCode(source: string): string; } export declare class ExtractedExpectation { readonly statement: TSESTree.ExpressionStatement; readonly expect: TSESTree.Node; readonly actual: TSESTree.Node; constructor(statement: TSESTree.ExpressionStatement, expect: TSESTree.Node, actual: TSESTree.Node); /** * Returns the source code of the entire expectation statement * @param source */ statementCode(source: string): string; /** * Given an expression such as expect(actual).toBe(true), returns everything * except the expect(actual), namely .toBe(true). * * @param source */ expectCode(source: string): string; /** * Given an expression such as expect(actual).toBe(true), returns only the * code inside expect(...), namely actual. * * @param source */ actualCode(source: string): string; } export declare function extractTests(root: Node): ExtractedTestCase[]; export {};