export type SubscriptionHandle = () => undefined; export declare abstract class BaseObservable { protected _handlers: Set; onSubscribeFirst(): void; onUnsubscribeLast(): void; subscribe(handler: T): SubscriptionHandle; unsubscribe(handler?: T): undefined; unsubscribeAll(): void; get hasSubscriptions(): boolean; } export declare function tests(): { test_unsubscribe(assert: any): void; };