/**
 * OS 模块订阅句柄：所有 OS 模块（BaseModule 子类）都暴露 `effectsOn(event, cb): () => void`。
 */
export interface OsModuleHandle {
    effectsOn: (event: string, callback: (payload: any) => void) => () => void;
}
/**
 * 通用 useSyncExternalStore 适配 OS effects 事件。
 *
 * 设计点：
 *  - subscribe 通过 `module.effectsOn(evt, onStoreChange)` 注册多事件，返回组合 cleanup。
 *  - getSnapshot 在 React 内部维护 lastSnapshotRef + isEqual 浅比较，确保未变更时返回稳定引用，
 *    避免 React 18 在 useSyncExternalStore 中因引用变化反复 tear（getServerSnapshot 同体引用）。
 *  - 调用方传入的 events 数组用 join('|') 作为 subscribe 依赖项，避免数组每次新引用导致重订阅。
 *
 * 示例：
 *   const data = useSyncOsModule(
 *     bookingTicket,
 *     ['onSalesOrderLoaded'],
 *     () => ({
 *       tempOrder: bookingTicket?.getTempOrder() ?? null,
 *       summary: bookingTicket?.getSalesOrder()?.summary ?? null,
 *     }),
 *   );
 */
export declare function useSyncOsModule<T>(module: OsModuleHandle | null | undefined, events: readonly string[], getSnapshot: () => T, isEqual?: (a: T, b: T) => boolean): T;
