import type { IEventDetail } from '@breadstone/mosaik-elements'; /** * Represents the event detail for swipe/pan events. * * @public */ export interface IPanEventDetail extends IEventDetail { /** * The total horizontal distance panned. */ readonly deltaX?: number; /** * The total vertical distance panned. */ readonly deltaY?: number; /** * Whether this is the final event in the gesture. */ readonly isFinal?: boolean; } /** * Event fired during pan gesture. * * @public */ export type PanEvent = CustomEvent; /** * Represents the event detail for swipe left events. * * @public */ export interface ISwipeLeftEventDetail extends IPanEventDetail { /** * The state of the swipe gesture. */ readonly state?: unknown; /** * Whether to cancel the swipe event. */ cancel?: boolean; } /** * Event fired when swiped left. * * @public */ export type SwipeLeftEvent = CustomEvent; /** * Represents the event detail for swipe right events. * * @public */ export interface ISwipeRightEventDetail extends IPanEventDetail { /** * The state of the swipe gesture. */ readonly state?: unknown; /** * Whether to cancel the swipe event. */ cancel?: boolean; } /** * Event fired when swiped right. * * @public */ export type SwipeRightEvent = CustomEvent; /** * Represents the event detail for pinch events. * * @public */ export interface IPinchEventDetail extends IEventDetail { /** * The scale factor. */ readonly scale: number; /** * The center X coordinate. */ readonly centerX: number; /** * The center Y coordinate. */ readonly centerY: number; } /** * Event fired during pinch gesture. * * @public */ export type PinchEvent = CustomEvent; declare global { interface HTMLElementEventMap { pan: PanEvent; swipeLeft: SwipeLeftEvent; swipeRight: SwipeRightEvent; pinch: PinchEvent; } } //# sourceMappingURL=GestureEvents.d.ts.map