import type { CommonGestureConfig, ComposedGestureConfig, GestureCallbacks, GestureRelations, InternalConfigProps } from './ConfigTypes'; import type { DetectorCallbacks } from './DetectorTypes'; import type { FilterNeverProperties } from './UtilityTypes'; export type ExternalRelations = { simultaneousWith?: AnyGesture | AnyGesture[] | undefined; requireToFail?: AnyGesture | AnyGesture[] | undefined; block?: AnyGesture | AnyGesture[] | undefined; }; export type BaseGestureConfig = ExternalRelations & GestureCallbacks & FilterNeverProperties & InternalConfigProps & CommonGestureConfig; export type BaseDiscreteGestureConfig = Omit, 'onUpdate'>; export type SingleGesture = { handlerTag: number; type: SingleGestureName; config: BaseGestureConfig; detectorCallbacks: DetectorCallbacks; gestureRelations: GestureRelations; }; export type DiscreteSingleGesture = { [K in keyof SingleGesture]: K extends 'config' ? Omit[K], 'onUpdate'> : SingleGesture[K]; }; export type ComposedGesture = { handlerTags: number[]; type: ComposedGestureName; config: ComposedGestureConfig; detectorCallbacks: DetectorCallbacks; externalSimultaneousHandlers: number[]; gestures: Gesture[]; }; export type Gesture = SingleGesture | ComposedGesture; export type AnyGesture = Gesture; export declare enum SingleGestureName { Tap = "TapGestureHandler", LongPress = "LongPressGestureHandler", Pan = "PanGestureHandler", Pinch = "PinchGestureHandler", Rotation = "RotationGestureHandler", Fling = "FlingGestureHandler", Manual = "ManualGestureHandler", Native = "NativeViewGestureHandler", Hover = "HoverGestureHandler" } export declare enum ComposedGestureName { Simultaneous = "SimultaneousGesture", Exclusive = "ExclusiveGesture", Race = "RaceGesture" } //# sourceMappingURL=GestureTypes.d.ts.map