export class Subscription { add(f: T, priority?: number): void; addOnce(f: T, priority?: number): void; remove(f: T): void; hasHandler(): boolean; dispatch(...args: any[]): void; } export class PipelineSubscription extends Subscription { dispatch(value: any): any; } export class StoppableSubscription extends Subscription { dispatch(...args: any[]): any; } export class DOMSubscription extends Subscription { dispatch(event: Event): boolean; }