/**
 * Simple EventEmitter implementation for process management
 */
type EventHandler<T extends unknown[] = unknown[]> = (...args: T) => void;
interface EventMap {
    [event: string]: unknown[];
}
export declare class EventEmitter<T extends EventMap = EventMap> {
    private events;
    on<K extends keyof T>(event: K, handler: EventHandler<T[K]>): void;
    emit<K extends keyof T>(event: K, ...args: T[K]): void;
    off<K extends keyof T>(event: K, handler: EventHandler<T[K]>): void;
    once<K extends keyof T>(event: K, handler: EventHandler<T[K]>): void;
}
export {};
//# sourceMappingURL=event-emitter.d.ts.map