import { AsyncIterableX } from './asynciterablex.js'; type CommonEventHandler = (...args: any[]) => void; /** @ignore */ export interface OnOffEventEmitter { on(event: string | symbol, listener: CommonEventHandler): this; off(event: string | symbol, listener: CommonEventHandler): this; } /** @ignore */ export interface NodeEventEmitter { addListener(event: string | symbol, listener: CommonEventHandler): this; removeListener(event: string | symbol, listener: CommonEventHandler): this; } /** @ignore */ export type EventListenerOptions = { capture?: boolean; passive?: boolean; once?: boolean; } | boolean; /** @ignore */ export type EventedTarget = EventTarget | OnOffEventEmitter | NodeEventEmitter; export declare function fromEvent(obj: EventedTarget, eventName: string): AsyncIterableX; export declare function fromEvent(obj: EventedTarget, eventName: string, resultSelector: (...args: any[]) => TSource): AsyncIterableX; export declare function fromEvent(obj: EventedTarget, eventName: string, options: EventListenerOptions): AsyncIterableX; export declare function fromEvent(obj: EventedTarget, eventName: string, options: EventListenerOptions, resultSelector: (...args: any[]) => TSource): AsyncIterableX; export {};