import { Event } from './Event.js'; declare class EventManager { protected eventHandlers: Record) => void>>; constructor(); protected getEventHandlers(eventName: EventName & string): Array<(event: Event) => void>; /** * Adds an event handler for a pre-defined event. * * @param {EventName} eventName - The name of the event, will match the key of the specific event. * @param {(event: Event) => void} handler - The handler function to be called when the event is triggered. */ on(eventName: EventName & string, handler: (event: Event) => void): void; /** * Removes an event handler for a pre-defined event. * * @param {EventName} eventName - The name of the event, will match the key of the specific event. * @param {(event: Event) => void} handler - The handler function instance to be removed. */ off(eventName: EventName & string, handler: (event: Event) => void): void; /** * Triggers a pre-defined event. * * @param {Event} event - The event to be triggered. */ trigger(event: Event): void; /** * Checks if there are any handlers registered for a specific event. * Useful for performance optimization - skip event data preparation if no handlers exist. * * @param {EventName} eventName - The name of the event to check. * @returns {boolean} True if handlers are registered, false otherwise. */ hasEventHandlers(eventName: EventName & string): boolean; } export { EventManager };