type EventsType = {
    onFilesAttached: {
        ids: (string | number)[];
    };
};
export type EventsEmitterMethods = {
    on: EventsEmitter['on'];
    off: EventsEmitter['off'];
    when: EventsEmitter['when'];
};
type ListenerType<Name extends keyof EventsType, Return = void | Promise<void>> = (eventData: EventsType[Name]) => Return;
export declare class EventsEmitter {
    private instance;
    on: <Name extends "onFilesAttached">(name: Name, listener: ListenerType<Name, void | Promise<void>>) => import("emittery").UnsubscribeFunction;
    when: <Name extends "onFilesAttached">(name: Name, predicate: ListenerType<Name, boolean>) => import("emittery").EmitteryOncePromise<(EventsType & import("emittery").OmnipresentEventData)[Name]>;
    off: <Name extends "onFilesAttached">(name: Name, listener: ListenerType<Name, void | Promise<void>>) => void;
    emit: <Name extends "onFilesAttached">(name: Name, data: EventsType[Name]) => void;
    getMethods: () => EventsEmitterMethods;
    static getMockMethods: () => EventsEmitterMethods;
}
export {};
