import type { IEvent, ILogger, IObservable } from '../interfaces/index.ts'; /** * Create one-time eventEmitter subscription for one or multiple events that match a filter * * @param {IObservable} emitter * @param {string[]} messageTypes Array of event type to subscribe to * @param {function(IEvent):any} [handler] Optional handler to execute for a first event received * @param {function(IEvent):boolean} [filter] Optional filter to apply before executing a handler * @param {ILogger} logger * @return {Promise} Resolves to first event that passes filter */ export declare function setupOneTimeEmitterSubscription(emitter: IObservable, messageTypes: string[], filter?: (e: IEvent) => boolean, handler?: (e: IEvent) => void, logger?: ILogger): Promise;