export interface Unsubscribable { unsubscribe(): void; } export interface SubscriptionLike extends Unsubscribable { readonly closed: boolean; readonly done: Promise; } export declare class Subscription implements SubscriptionLike { private readonly _collection; private readonly _done; closed: boolean; add(sub: (() => unknown) | Unsubscribable): void; remove(sub: (() => void) | Unsubscribable): void; unsubscribe(): void; get done(): Promise; }