/** * */ export interface IDisposable { dispose(): void; } export interface ISubscription { unsubscribe(): void; } export declare function isDisposable(value: any): value is IDisposable; export declare function isSubscription(value: any): value is ISubscription; export declare function canBeDisposed(value: any): value is IDisposableOrSubscription; export declare type IDisposableOrSubscription = IDisposable | ISubscription | (() => void); export declare class Disposable implements IDisposable, ISubscription { static get empty(): Disposable; static of(value: any): IDisposable; static create(value: IDisposableOrSubscription): IDisposable & ISubscription; static create(action: () => void): IDisposable & ISubscription; private _action; private _isDisposed; constructor(value: IDisposableOrSubscription); get isDisposed(): boolean; dispose(): void; unsubscribe(): void; }