import { LifecycleInterface } from '../../interface/lifecycle'; import { LifecycleName, LifecycleHook, LifecycleResult, PluginDefinition, PageInfo, Listener, NavigationGuardNext } from '../../types/lifecycle'; import { Base } from '../base'; import { DevConfig } from '../../types'; export declare const HookNames: Record; declare class Lifecycle extends Base implements LifecycleInterface { private lifecycles; private customHooks; private executedLifecycles; private inProgress; init(config: DevConfig): void; private context; private repeatableLifecycles; private isStarted; private data; private executeQueue; static $on: typeof import("../../../server").MsgManagement.$on; static $once: typeof import("../../../server").MsgManagement.$once; static $off: typeof import("../../../server").MsgManagement.$off; static $emit: typeof import("../../../server").MsgManagement.$emit; static getboundEvents: typeof import("../../../server").MsgManagement.getboundEvents; constructor(lifecycle: Record); executed(): Set; private initializeLifecycles; serviceInit(hook: LifecycleHook): void; systemSetup(hook: LifecycleHook): void; beforePageEnter(hook: LifecycleHook): void; pageEnter(hook: LifecycleHook): void; pageReady(hook: LifecycleHook): void; pageTlStart(hook: LifecycleHook): void; pageTlEnd(hook: LifecycleHook): void; pageLeave(hook: LifecycleHook): void; onServiceInit(callback: Listener): void; onSystemSetup(callback: Listener): void; onBeforePageEnter(callback: Listener): void; onPageEnter(callback: Listener): void; onPageReady(callback: Listener): void; onPageTlStart(callback: Listener): void; onPageTlEnd(callback: Listener): void; onPageLeave(callback: Listener): void; registerHook(pluginName: string, lifecycleName: LifecycleName, hook: LifecycleHook, id?: string, position?: 'before' | 'after'): void; registerPlugin(pluginCallback: () => PluginDefinition, position?: 'before' | 'after'): void; setRouteInfo(to: any, from: any, next: NavigationGuardNext): void; getCurrentRoute(): PageInfo | undefined; getGuardNext(): NavigationGuardNext | null; clearNext(): void; private canOnlyBeCalledOnce; private hookToPromiseFn; private runHookQueue; execute(lifecycleName: LifecycleName, isAutoTransition?: boolean): Promise; start(data: Record): Promise; navigateTo(page?: PageInfo): Promise; private resetRepeatableLifecycles; reset(): void; pauseAt(hookName: T): T extends LifecycleName[] ? (() => void)[] : () => void; private pauseBuilder; private removePauseAt; dispatchLifecycle(lifecycle: LifecycleName): Promise; } export default Lifecycle;