import { type SharedValue, type WithSpringConfig, type WithTimingConfig } from 'react-native-reanimated'; import { type DefaultPressableProps, type PressableConfig } from './constants'; export type AnimationType = 'timing' | 'spring'; export type AnimatedPressableOptions = { isPressed: boolean; isToggled: boolean; isSelected: boolean; /** * Per-component metadata (falls back to the PressablesConfig metadata). * Useful inside globalHandlers to identify which pressable fired. * Optional: a pressable may not set it, so handlers should null-check. */ metadata?: TMetadata; }; export type PressableContextType = { animationType: T; animationConfig: T extends 'timing' ? WithTimingConfig : WithSpringConfig; globalHandlers?: { onPressIn?: (options: AnimatedPressableOptions) => void; onPressOut?: (options: AnimatedPressableOptions) => void; onPress?: (options: AnimatedPressableOptions) => void; }; metadata?: TMetadata; /** * Activates the pressable animation on hover (web only) * @platform web */ activateOnHover?: boolean; /** * Pressable configuration values (opacity, scale, etc.) */ config: PressableConfig; /** * Default props applied to all pressables. * Individual pressable props will override these values. */ defaultProps?: DefaultPressableProps; }; export declare const PressablesContext: import("react").Context>; export declare const PressablesGroupContext: import("react").Context<{ lastTouchedPressable: SharedValue; }>; //# sourceMappingURL=context.d.ts.map