/** * Low-level Effect wrappers for EventTarget APIs. * @since 8.19.0 */ import * as Effect from "effect/Effect"; import * as Scope from "effect/Scope"; import { GlobalThis } from "./GlobalThis.js"; import { type DefaultEventMap } from "./internal/_helpers.js"; /** * Add an event listener to an EventTarget * @since 8.19.0 * @category events */ export interface AddEventListenerOptions extends globalThis.AddEventListenerOptions { readonly eventName: EventName; readonly handler: (event: EventWithCurrentTarget ? DefaultEventMap[EventName] : Event>) => Effect.Effect; } /** * Add an event listener to an EventTarget * @since 8.19.0 * @category events */ export declare const addEventListener: { (options: AddEventListenerOptions): (target: T) => Effect.Effect; (target: T, options: AddEventListenerOptions): Effect.Effect; }; /** * Dispatch an event from an EventTarget * @since 8.19.0 * @category events */ export declare const dispatchEvent: { >(event: EventName, options?: EventInit): (target: T) => Effect.Effect; >(target: T, event: EventName, options?: EventInit): Effect.Effect; }; /** * Check to see if a key modifier is being used * @since 8.19.0 * @category events */ export declare function isUsingKeyModifier(event: KeyboardEvent | MouseEvent): boolean; /** * Helper for creating an Event that has the target property set. * @since 8.19.0 * @category events */ export type EventWithTarget = Ev & { target: T; }; /** * Helper for creating an Event that has the currentTarget property set. * @since 8.19.0 * @category events */ export type EventWithCurrentTarget = Ev & { currentTarget: T; }; //# sourceMappingURL=EventTarget.d.ts.map