import type { EventData, EventPublisher, EventRegistrar, EventSubscriptor, SubscribeTopicDescriptor, Subscription, TopicDescriptor } from '../ricos-types/index.js';
import type { RicosEventData } from './event-data.js';
import type { EventLogger } from './ricos-event-logger.js';
export declare class RicosEvents implements EventRegistrar, EventSubscriptor {
    private events;
    logger: EventLogger;
    constructor(isDebugMode?: boolean);
    register<T extends RicosEventData>(topic: TopicDescriptor): EventPublisher<T>;
    getAllTopics(): TopicDescriptor[];
    subscribe(topic: SubscribeTopicDescriptor, handler: (topic: TopicDescriptor, data: EventData) => void, id: string): Subscription;
    clear(): void;
}
//# sourceMappingURL=events.d.ts.map