import { Observable } from '../Observable'; import { Subscriber } from '../Subscriber'; export declare type NodeStyleEventEmmitter = { addListener: (eventName: string, handler: Function) => void; removeListener: (eventName: string, handler: Function) => void; }; export declare type JQueryStyleEventEmitter = { on: (eventName: string, handler: Function) => void; off: (eventName: string, handler: Function) => void; }; export declare type EventTargetLike = EventTarget | NodeStyleEventEmmitter | JQueryStyleEventEmitter | NodeList | HTMLCollection; export declare class FromEventObservable extends Observable { private sourceObj; private eventName; private selector; static create(sourceObj: EventTargetLike, eventName: string, selector?: (...args: Array) => T): Observable; constructor(sourceObj: EventTargetLike, eventName: string, selector?: (...args: Array) => T); private static setupSubscription(sourceObj, eventName, handler, subscriber); protected _subscribe(subscriber: Subscriber): void; }