import { EVENTS } from './constant';
import { TreeDataChangePayload, TreeNode, TreePropTypes } from './props';
import { IFlatData } from './util';
type TreeContext = {
    emit: (event: EVENTS, ...args: unknown[]) => void;
};
type AsyncLoadResponse = TreeNode | TreeNode[];
export type UseNodeAsyncOptions = {
    getTreeData?: () => TreeNode[];
    onTreeDataChange?: (payload: TreeDataChangePayload) => void;
};
declare const _default: (props: TreePropTypes, flatData: IFlatData, ctx?: TreeContext, options?: UseNodeAsyncOptions) => {
    asyncNodeClick: (item: TreeNode) => Promise<boolean | AsyncLoadResponse>;
    deepAutoOpen: () => void;
};
export default _default;
