import { Registry } from './types';
import { EventEmitter2 } from 'eventemitter2';
import { z } from 'zod';
export declare class TypedEventEmitter<R extends Registry<any>> {
    private readonly eventEmitter;
    constructor(eventEmitter: EventEmitter2);
    emit<Key extends keyof R & string>(event: Key, props: z.input<R[Key]['schema']>): boolean;
}
