import type { ComponentProps } from 'react'; import type { ViewStyle, Insets, PressableProps } from 'react-native'; import type Animated from 'react-native-reanimated'; import { DerivedValue } from 'react-native-reanimated'; import type { MotiView } from '../../components'; import type { MotiAnimationProp, MotiTransition } from '../../core'; export type MotiPressableInteractionState = { hovered: boolean; pressed: boolean; }; export type AnimateProp = MotiAnimationProp; type Interactable = (interaction: MotiPressableInteractionState) => NonNullable; type InteractableProp = Interactable | T; export type MotiPressableInteractionProp = Interactable; export type MotiPressableTransitionProp = InteractableProp; export type MotiPressableProp = InteractableProp; export type MotiPressableProps = { onFocus?: () => void; onBlur?: () => void; transition?: MotiPressableTransitionProp; animate?: MotiPressableProp; state?: never; onPress?: () => void; onPressIn?: () => void; onPressOut?: () => void; onHoverIn?: () => void; onHoverOut?: () => void; onKeyDown?: (e: KeyboardEvent) => void; onKeyUp?: (e: KeyboardEvent) => void; onLongPress?: () => void; hitSlop?: Insets; id?: string; disabled?: boolean; containerStyle?: ViewStyle; dangerouslySilenceDuplicateIdsWarning?: boolean; pressedValue?: Animated.SharedValue; hoveredValue?: Animated.SharedValue; /** * `onLayout` for the container component. */ onContainerLayout?: PressableProps['onLayout']; href?: string; testID?: PressableProps['testID']; children?: React.ReactNode | ((interaction: DerivedValue) => React.ReactNode); } & Pick, 'exit' | 'from' | 'exitTransition' | 'style' | 'onLayout'> & Pick; export {}; //# sourceMappingURL=types.d.ts.map