/**
 * Typed Event Emitter
 *
 * A generic event emitter with TypeScript type safety for event names and payloads.
 */
export declare class TypedEventEmitter<Events extends Record<string, unknown>> {
    private _listeners;
    /**
     * Subscribe to an event. Returns an unsubscribe function.
     */
    on<K extends keyof Events>(event: K, handler: (data: Events[K]) => void): () => void;
    /**
     * Unsubscribe a handler from an event.
     */
    off<K extends keyof Events>(event: K, handler: (data: Events[K]) => void): void;
    /**
     * Emit an event to all subscribed handlers.
     * Errors in handlers are caught and logged.
     */
    protected emit<K extends keyof Events>(event: K, data: Events[K]): void;
    /**
     * Remove all event listeners.
     */
    removeAllListeners(): void;
}
