import type { WidgetEvent } from '../events/WidgetEvent.js';
import type { WidgetEventEmitter, WidgetEventListener, WidgetEventTypedListenerMap, WidgetEventUntypedListenerList } from '../events/WidgetEventEmitter.js';
/**
 * Helper function for implementing the {@link WidgetEventEmitter#on} method.
 *
 * @category Helper
 */
export declare function eventEmitterOn(nextID: number, typedListeners: WidgetEventTypedListenerMap, eventType: string, listener: WidgetEventListener, once: boolean): void;
/**
 * Helper function for implementing the {@link WidgetEventEmitter#onAny} method.
 *
 * @category Helper
 */
export declare function eventEmitterOnAny(nextID: number, untypedListeners: WidgetEventUntypedListenerList, listener: WidgetEventListener): void;
/**
 * Helper function for implementing the {@link WidgetEventEmitter#off} method.
 *
 * @category Helper
 */
export declare function eventEmitterOff(typedListeners: WidgetEventTypedListenerMap, eventType: string, listener: WidgetEventListener, once: boolean): boolean;
/**
 * Helper function for implementing the {@link WidgetEventEmitter#offAny}
 * method.
 *
 * @category Helper
 */
export declare function eventEmitterOffAny(untypedListeners: WidgetEventUntypedListenerList, listener: WidgetEventListener): boolean;
/**
 * Helper function for handling user events in a class that implements
 * {@link WidgetEventEmitter}.
 *
 * @returns Returns true if the user captured the event.
 * @category Helper
 */
export declare function eventEmitterHandleEvent(handler: WidgetEventEmitter, typedListenersMap: WidgetEventTypedListenerMap, untypedListeners: WidgetEventUntypedListenerList, event: WidgetEvent, cancelGetter?: () => boolean): boolean;
