import { type TSESTree } from "@typescript-eslint/utils";
import { type AnyFunction } from "@flint/infra/analysis/function-analysis";
import { type VisitorKeys } from "@flint/infra/analysis/tree-analysis";
export interface CollectReturnExpressionOptions {
    ignoreNestedFunctions?: boolean;
}
export declare function collectReturnExpressionsFromFunction(node: AnyFunction, visitorKeys: VisitorKeys, options?: CollectReturnExpressionOptions): TSESTree.Expression[];
export declare function hasArrayReturn(node: AnyFunction): boolean;
export declare function isBareReturn(statement: TSESTree.Statement): statement is TSESTree.ReturnStatement;
export declare function collectBareReturns(statements: TSESTree.Statement[]): TSESTree.ReturnStatement[];
export declare function collectReturnExpressions(block: TSESTree.BlockStatement, visitorKeys: VisitorKeys, options?: CollectReturnExpressionOptions): TSESTree.Expression[];
