/** * 注入当前是否 WebPOS(接受 boolean 或函数,统一用 resolveAppHelperIsWebPos 解析)。 * 应在入口组件拿到 appHelper.utils.isWebPos 后调用。 */ export declare function setOsQueryWebPos(isWebPos: unknown): void; /** * OS Server 查询订阅的统一退订入口。 * * 背景:订单 / 预约 / ES 搜索等列表查询在 **WebPOS** 下会注册 OS Server 推送订阅 * (带 subscriberId + osServer:true),组件卸载 / 重查时需要退订。非 WebPOS 环境根本 * 不会建立这类订阅,因此退订请求是多余的(甚至会报错)。 * * 这里统一两件事: * 1. 仅在 **WebPOS** 才真正发退订请求(`osQueryWebPos`),否则什么都不干; * 2. 收敛各处「post `.../unsubscribe` + { subscriberId } + isShopApi + osServer」的重复样板。 */ export interface UnsubscribeOsQueryOptions { /** 请求方法,默认 'post'(预约列表退订走 'get') */ method?: 'get' | 'post'; /** 是否要求完整响应体(ES 搜索退订用 true,与其 service 约定一致) */ fullResult?: boolean; } /** * 退订一个 OS Server 查询订阅。 * * @example * await unsubscribeOsQuery('/shop/es/search/sales/unsubscribe', subId, { fullResult: true }); * await unsubscribeOsQuery('/shop/schedule/booking/unsubscribe', subId, { method: 'get' }); */ export declare function unsubscribeOsQuery(url: string, subscriberId?: string, options?: UnsubscribeOsQueryOptions): Promise;