export type EventCallback = (event: E) => void; /** * Creates a typed event dispatcher and listener pair for custom events * @template T - The type of data that will be passed in the event detail * @param eventName - The name of the custom event * @param options - CustomEvent options (bubbles, cancelable, etc.) */ export declare class CustomEventDispatcher { readonly eventName: string; readonly options: Omit, "detail">; constructor(eventName: string, options?: Omit, "detail">); createEvent(detail?: T): CustomEvent; dispatch(element: EventTarget, detail?: T): CustomEvent; listen(element: EventTarget, callback: (event: CustomEvent) => void, options?: AddEventListenerOptions): () => void; }