import { Observable } from '../Observable'; import { Subscriber } from '../Subscriber'; export declare type NodeStyleEventEmitter = { addListener: (eventName: string, handler: NodeEventHandler) => void; removeListener: (eventName: string, handler: NodeEventHandler) => void; }; export declare type NodeEventHandler = (...args: any[]) => void; export declare type JQueryStyleEventEmitter = { on: (eventName: string, handler: Function) => void; off: (eventName: string, handler: Function) => void; }; export declare type EventTargetLike = EventTarget | NodeStyleEventEmitter | JQueryStyleEventEmitter | NodeList | HTMLCollection; export declare type EventListenerOptions = { capture?: boolean; passive?: boolean; once?: boolean; } | boolean; export declare type SelectorMethodSignature = (...args: Array) => T; /** * We need this JSDoc comment for affecting ESDoc. * @extends {Ignored} * @hide true */ export declare class FromEventObservable extends Observable { private sourceObj; private eventName; private selector; private options; static create(target: EventTargetLike, eventName: string): Observable; static create(target: EventTargetLike, eventName: string, selector: SelectorMethodSignature): Observable; static create(target: EventTargetLike, eventName: string, options: EventListenerOptions): Observable; static create(target: EventTargetLike, eventName: string, options: EventListenerOptions, selector: SelectorMethodSignature): Observable; constructor(sourceObj: EventTargetLike, eventName: string, selector?: SelectorMethodSignature, options?: EventListenerOptions); private static setupSubscription(sourceObj, eventName, handler, subscriber, options?); /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): void; }