import { Observable } from 'rxjs'; import { AsyncHookName, AsyncHookParams, CoreHook, Hook, HookExecution, HookFrom, HookParams, HookResult, SyncHookName } from './types'; export declare class HookManager = CoreHook> { _hooks: Array; _hookExecutions: Array>; private getHooks; protected deregister(hookToDeregister: H): Observable; register(name: Name, fn: HookFrom["runFn"]): () => void; execute>(name: Name, params: HookParams): HookResult[]; executeAsync>(name: Name, id: string | undefined, params: Omit, keyof AsyncHookParams>, signal?: AbortSignal): Promise>[]>; fromExecuteAsync>(name: Name, id: string | undefined, params: Omit, keyof AsyncHookParams>): Observable>[]>; executeSequential>(name: Name, params: HookParams, getNextParams: (params: HookParams, result: HookResult) => HookParams): { finalParams: HookParams; results: HookResult[]; }; destroy(name: Name, id?: string, ref?: H): Observable; }