import { Constructable } from '@artus/injection'; import { Application } from '../types'; export type HookFunction = (hookProps: { app: Application; lifecycleManager: LifecycleManager; payload?: T; }) => void | Promise; export declare class LifecycleManager { enable: boolean; private hookList; private hookFnMap; private hookUnitSet; private app; private container; insertHook(existHookName: string, newHookName: string): void; appendHook(newHookName: string): void; registerHook(hookName: string, hookFn: HookFunction): void; registerHookUnit(extClazz: Constructable): void; emitHook(hookName: string, payload?: T, reverse?: boolean): Promise; }