import { Subscription } from "./Subscription"; export declare enum NotifyTypeEn { NEXT = "next", COMPLETE = "complete" } /** * 被观察者:主要负责两个任务 * 1. 维护观察者列表 * 2. 向观察者发布新消息 * 在这里 SubscriptionObserver 与 Subscription 采用 1v1 方式 * 所以 SubscriptionObser 中就不需要维护一个 Subscription 队列 */ export declare class SubscriptionObserver { private _subscription; constructor(subscription: Subscription); /** 判断本次订阅是否已经关闭 */ get isClosed(): boolean; /** * 作为被观察者,支持两个动作 * 1. 给观察者推送新消息 * 2. 与观察者结束订阅 */ next(value?: T): void; complete(): void; /** * 执行向 subscription 推送消息功能 * type: * next * complete */ notify(type: NotifyTypeEn, value?: T): void; notifySubscription(type: NotifyTypeEn, value?: T): void; }