import { PureComponent } from 'react'; import type { AccessibilityRole } from 'react-native'; import { Animated } from 'react-native'; import type { AccessibilityComponentType } from '../types/Store'; export declare enum ModalHalfScreenPosition { Top = "top", Center = "center", Bottom = "bottom" } export interface ModalHalfScreenProps { visible?: boolean; height?: number; backgroundAccessibilityTraits?: AccessibilityRole; backgroundAccessibilityComponentType?: AccessibilityComponentType; backgroundAccessibilityLabel?: string; onRequestClose: () => void; position?: ModalHalfScreenPosition.Bottom | ModalHalfScreenPosition.Center | ModalHalfScreenPosition.Top; } export interface ModalHalfScreenState { visible: boolean; contentOffset: Animated.Value; height: number; statusBarHeight: number; } export declare class ModalHalfScreen extends PureComponent { constructor(props: ModalHalfScreenProps); private readonly dimensionsListener; private readonly showContent; private readonly hideContent; private readonly renderBackground; private getAnimationConfig; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: ModalHalfScreenProps, prevState: ModalHalfScreenState): void; render(): JSX.Element; }