import { Observable } from '../Observable'; import { Subscriber } from '../Subscriber'; /** * We need this JSDoc comment for affecting ESDoc. * @extends {Ignored} * @hide true */ export declare class FromEventPatternObservable extends Observable { private addHandler; private removeHandler; private selector; /** * Creates an Observable from an API based on addHandler/removeHandler * functions. * * Converts any addHandler/removeHandler API to an * Observable. * * * * Creates an Observable by using the `addHandler` and `removeHandler` * functions to add and remove the handlers, with an optional selector * function to project the event arguments to a result. The `addHandler` is * called when the output Observable is subscribed, and `removeHandler` is * called when the Subscription is unsubscribed. * * @example Emits clicks happening on the DOM document * function addClickHandler(handler) { * document.addEventListener('click', handler); * } * * function removeClickHandler(handler) { * document.removeEventListener('click', handler); * } * * var clicks = Rx.Observable.fromEventPattern( * addClickHandler, * removeClickHandler * ); * clicks.subscribe(x => console.log(x)); * * @see {@link from} * @see {@link fromEvent} * * @param {function(handler: Function): any} addHandler A function that takes * a `handler` function as argument and attaches it somehow to the actual * source of events. * @param {function(handler: Function, signal?: any): void} [removeHandler] An optional function that * takes a `handler` function as argument and removes it in case it was * previously attached using `addHandler`. if addHandler returns signal to teardown when remove, * removeHandler function will forward it. * @param {function(...args: any): T} [selector] An optional function to * post-process results. It takes the arguments from the event handler and * should return a single value. * @return {Observable} * @static true * @name fromEventPattern * @owner Observable */ static create(addHandler: (handler: Function) => any, removeHandler?: (handler: Function, signal?: any) => void, selector?: (...args: Array) => T): FromEventPatternObservable; constructor(addHandler: (handler: Function) => any, removeHandler?: (handler: Function, signal?: any) => void, selector?: (...args: Array) => T); /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): void; private _callSelector(subscriber, args); private _callAddHandler(handler, errorSubscriber); }