import * as t from "@babel/types";
import type { Invokes } from "../../types";
export type InvokeCollectOptions = {
    deepReactHookCallbacks?: boolean;
    reactCallbackLocToName?: ReadonlyMap<string, string>;
    reactSyntheticCallerStack?: string[];
    reactHookFrameStack?: string[];
};
export declare function getUseCallbackUseMemoInnerCallback(init: t.Node | null | undefined): t.ArrowFunctionExpression | t.FunctionExpression | null;
export declare function reactHookInnerFunctionLocKey(fn: t.ArrowFunctionExpression | t.FunctionExpression): string | null;
export declare function buildReactCallbackLocToBindingNameMap(ast: t.File): ReadonlyMap<string, string>;
export declare function collectInvokesFromFunctionBodyLive(bodyNode: t.BlockStatement | t.Expression, invokes: Invokes, lineBase?: number, opts?: InvokeCollectOptions): void;
