import type { SharedValue } from 'react-native-reanimated'; import type { PopupOverlayAnimation } from '../types'; export interface UsePopupOverlayAnimationOptions { /** Animation progress shared value (0=idle, 1=open, 2=close) */ progress?: SharedValue; /** Dragging state shared value */ isDragging?: SharedValue; /** Gesture release animation running state (for components with swipe gestures) */ isGestureReleaseAnimationRunning?: SharedValue; /** Animation configuration for overlay */ animation?: PopupOverlayAnimation; } /** * Animation hook for popup overlay (backdrop) components. * Shared by Dialog, Select, BottomSheet, Popover, etc. * * Returns progress-based opacity style and entering/exiting layout animations. * On web, entering/exiting are undefined (CSS transitions drive the visuals). */ export declare function usePopupOverlayAnimation(options: UsePopupOverlayAnimationOptions): { rContainerStyle: { opacity?: undefined; } | { opacity: number; }; entering: import("react-native-reanimated").BaseAnimationBuilder | ((targetValues: import("react-native-reanimated").EntryAnimationsValues) => import("react-native-reanimated").LayoutAnimation) | ((targetValues: import("react-native-reanimated").ExitAnimationsValues) => import("react-native-reanimated").LayoutAnimation) | import("react-native-reanimated").ReanimatedKeyframe | undefined; exiting: import("react-native-reanimated").BaseAnimationBuilder | ((targetValues: import("react-native-reanimated").EntryAnimationsValues) => import("react-native-reanimated").LayoutAnimation) | ((targetValues: import("react-native-reanimated").ExitAnimationsValues) => import("react-native-reanimated").LayoutAnimation) | import("react-native-reanimated").ReanimatedKeyframe | undefined; }; //# sourceMappingURL=usePopupOverlayAnimation.d.ts.map