export type HookCallback = (context: any) => Promise<void> | void;
export interface Hooks {
    formChange: HookCallback[];
    nodeRender: HookCallback[];
}
export interface HookManager {
    clear: (hookName?: keyof Hooks) => void;
    execute: (hookName: keyof Hooks, context: any) => Promise<void>;
    getCount: (hookName: keyof Hooks) => number;
    register: (hookName: keyof Hooks, callback: HookCallback) => () => void;
}
export declare function useHookManager(): {
    clear: (hookName?: keyof Hooks) => void;
    execute: (hookName: keyof Hooks, context: any) => Promise<void>;
    getCount: (hookName: keyof Hooks) => number;
    register: (hookName: keyof Hooks, callback: HookCallback) => (() => void);
};
