/** * 全局 App() 生命周期的单一包装点。 * * 小程序的 `App()` 是全局构造函数,只应被猴补一次。此前 SessionIntegration 与 * PageBreadcrumbs 各自独立猴补 App,存在还原顺序脆弱、重复的全局检测等问题 * (架构 review P2-c)。这里用引用计数做单次包装: * * - 首个订阅者触发对 `globalThis.App` 的包装;最后一个退订时还原。 * - 还原仅在「全局 App 仍是我们的 wrapper」时进行,杜绝乱序 cleanup 丢层 / 覆盖他人后续包装。 * - 每个生命周期事件(onLaunch/onShow/onHide/onError)在调用业务原回调**之前**广播给所有订阅者。 * - wrapper 无条件注入四个生命周期回调,确保即使业务未定义某回调,订阅者也能收到广播 * (Session 依赖此点保证会话生命周期完整)。 */ export interface AppLifecycleHandlers { onLaunch?: (options?: unknown) => void; onShow?: (options?: unknown) => void; onHide?: () => void; onError?: (error?: unknown) => void; } /** * 订阅全局 App 生命周期。首次订阅会包装 `App()`;返回退订函数, * 退订到无订阅者时还原 `App()`。 */ export declare function subscribeAppLifecycle(handlers: AppLifecycleHandlers): () => void; /** 仅供测试:重置内部包装状态。 */ export declare function _resetAppLifecycle(): void; //# sourceMappingURL=appLifecycle.d.ts.map