/** * Gesture Physics System * Provides physics-based gesture interactions with preset configurations */ import { Vector2D } from '../../types/common'; /** * Gesture types supported by the physics system */ export declare enum GestureType { TAP = "tap", DOUBLE_TAP = "double_tap", LONG_PRESS = "long_press", PAN = "pan", SWIPE = "swipe", PINCH = "pinch", ROTATE = "rotate", HOVER = "hover" } /** * Gesture physics preset configurations */ export interface GesturePhysicsPreset { name: string; damping: number; stiffness: number; mass: number; velocity: number; restDelta: number; restSpeed: number; gestures: GestureType[]; } /** * Predefined gesture physics presets */ export declare const GESTURE_PRESETS: Record; /** * Gesture event data */ export interface GestureEvent { type: GestureType; position: Vector2D; delta: Vector2D; velocity: Vector2D; distance: number; angle: number; scale: number; timestamp: number; } /** * Options for gesture physics hook */ export interface UseGesturePhysicsOptions { preset?: keyof typeof GESTURE_PRESETS | GesturePhysicsPreset; enabledGestures?: GestureType[]; onGesture?: (event: GestureEvent) => void; onGestureStart?: (event: GestureEvent) => void; onGestureEnd?: (event: GestureEvent) => void; threshold?: number; velocityThreshold?: number; longPressDelay?: number; } /** * Hook for gesture-based physics interactions */ export declare const useGesturePhysics: (options?: UseGesturePhysicsOptions) => { handlers: { onMouseDown: (e: React.MouseEvent) => void; onMouseMove: (e: React.MouseEvent) => void; onMouseUp: () => void; onMouseLeave: () => void; onTouchStart: (e: React.TouchEvent) => void; onTouchMove: (e: React.TouchEvent) => void; onTouchEnd: () => void; onTouchCancel: () => void; }; position: Vector2D; isActive: boolean; gestureType: GestureType | null; velocity: Vector2D; preset: GesturePhysicsPreset; }; //# sourceMappingURL=gesturePhysics.d.ts.map