import type { HookHandler, HookHandlerBuilder } from './hooks.js'; export interface LegacyRunHookFunction { (hookName: HookName, ...args: HookConfig[HookName] extends (...args2: any) => any ? Parameters : never): Return; } export declare function legacyBuildRunHook(_hookHandlerBuilder: HookHandlerBuilder): LegacyRunHookFunction; export interface LegacyAddAnyHookFunction { /** * Adds a hook listener */ (this: This, hookName: HookName, hook: HookConfig[HookName]): This; /** * Adds a hook listener * * @param listenerName Provide a name for the hook function. It can be used to remove the hook later. */ (this: This, hookName: HookName, listenerName: string, hook: HookConfig[HookName]): This; } export declare function legacyBuildAddAnyHook(_hookHandlerBuilder: HookHandlerBuilder): LegacyAddAnyHookFunction; export interface LegacyAddHookFunction { /** * Adds a hook listener */ (this: This, hook: Fn): This; /** * Adds a hook listener * * @param listenerName Provide a name for the hook function. It can be used to remove the hook later. */ (this: This, listenerName: string, hook: Fn): This; } export declare function legacyBuildAddHook(hookHandlerBuilder: HookHandlerBuilder, hookName: HookName): LegacyAddHookFunction; export declare function legacyBuildHasHook(_hookHandlerBuilder: HookHandlerBuilder): (this: { hooks: HookHandler; }, hookName: HookName) => boolean; export declare function legacyBuildRemoveHook(_hookHandlerBuilder: HookHandlerBuilder): (this: { hooks: HookHandler; }, hookName: HookName, listenerNameOrListener: HookConfig[HookName] | string) => void; //# sourceMappingURL=hooks-legacy.d.ts.map