import { orderedApply } from "./functionality.ts"; import type { CallbackDescriptor, CallbackOrDescriptor, FunctionalityObject, PromiseOrDirect, UnwrapCallback } from "./interfaces.ts"; export declare class AsyncHooks> { callbacks: { [key in keyof THooks]?: Array ? U : never>; }; hook(event: THookName, fn: THooks[THookName] extends CallbackOrDescriptor ? U : never): void; /** * Hooks can _mutate_ the argument, they cannot return a replacement. This * allows us to completely side-step the problem of recursive calls. */ process(hookName: THookName, ...args: Parameters ? U : never>): void | Promise; } /** @deprecated Use FunctionalityObject */ export type HookObject = FunctionalityObject; /** @deprecated Use `orderedApply` */ export declare const applyHooks: typeof orderedApply; /** @deprecated Use CallbackDescriptor */ export type PluginHookObject any> = CallbackDescriptor; /** @deprecated Use CallbackOrDescriptor */ export type PluginHook PromiseOrDirect | void>> = CallbackOrDescriptor | readonly CallbackDescriptor[]; /** @deprecated Use UnwrapCallback */ export type PluginHookCallback any>> = UnwrapCallback; //# sourceMappingURL=hooks.d.ts.map