| import { Observable } from '../Observable'; |
| export interface NodeStyleEventEmitter { |
| addListener: (eventName: string | symbol, handler: NodeEventHandler) => this; |
| removeListener: (eventName: string | symbol, handler: NodeEventHandler) => this; |
| } |
| export declare type NodeEventHandler = (...args: any[]) => void; |
| export interface NodeCompatibleEventEmitter { |
| addListener: (eventName: string, handler: NodeEventHandler) => void | {}; |
| removeListener: (eventName: string, handler: NodeEventHandler) => void | {}; |
| } |
| export interface JQueryStyleEventEmitter { |
| on: (eventName: string, handler: Function) => void; |
| off: (eventName: string, handler: Function) => void; |
| } |
| export interface HasEventTargetAddRemove<E> { |
| addEventListener(type: string, listener: ((evt: E) => void) | null, options?: boolean | AddEventListenerOptions): void; |
| removeEventListener(type: string, listener?: ((evt: E) => void) | null, options?: EventListenerOptions | boolean): void; |
| } |
| export declare type EventTargetLike<T> = HasEventTargetAddRemove<T> | NodeStyleEventEmitter | NodeCompatibleEventEmitter | JQueryStyleEventEmitter; |
| export declare type FromEventTarget<T> = EventTargetLike<T> | ArrayLike<EventTargetLike<T>>; |
| export interface EventListenerOptions { |
| capture?: boolean; |
| passive?: boolean; |
| once?: boolean; |
| } |
| export interface AddEventListenerOptions extends EventListenerOptions { |
| once?: boolean; |
| passive?: boolean; |
| } |
| export declare function fromEvent<T>(target: FromEventTarget<T>, eventName: string): Observable<T>; |
| /** @deprecated resultSelector no longer supported, pipe to map instead */ |
| export declare function fromEvent<T>(target: FromEventTarget<T>, eventName: string, resultSelector: (...args: any[]) => T): Observable<T>; |
| export declare function fromEvent<T>(target: FromEventTarget<T>, eventName: string, options: EventListenerOptions): Observable<T>; |
| /** @deprecated resultSelector no longer supported, pipe to map instead */ |
| export declare function fromEvent<T>(target: FromEventTarget<T>, eventName: string, options: EventListenerOptions, resultSelector: (...args: any[]) => T): Observable<T>; |