UNPKG

@xec-sh/core

Version:

Universal shell execution engine

28 lines (27 loc) 1.26 kB
import type { UshEventMap, TypedEventEmitter } from '../types/events.js'; export interface EventFilter { adapter?: string | string[]; host?: string; [key: string]: any; } export interface FilteredEventListener<T> { listener: (data: T) => void; filter?: EventFilter; } declare const EnhancedEventEmitter_base: new () => TypedEventEmitter<UshEventMap>; export declare class EnhancedEventEmitter extends EnhancedEventEmitter_base { private filteredListeners; private wildcardListeners; onFiltered<K extends keyof UshEventMap>(event: K | string, filterOrListener: EventFilter | ((data: UshEventMap[K]) => void), listener?: (data: UshEventMap[K]) => void): this; private handleFilteredEvent; private setupWildcardListener; private wildcardSetupMap; private hasWildcardListenerSetup; private markWildcardListenerSetup; private handleWildcardEvent; private matchesFilter; offFiltered<K extends keyof UshEventMap>(event: K | string, listener: (data: UshEventMap[K]) => void): this; emitEnhanced<K extends keyof UshEventMap>(event: K, data: Omit<UshEventMap[K], 'timestamp' | 'adapter'>, adapter: string): boolean; } export declare function createEnhancedEventEmitter(): EnhancedEventEmitter; export {};