import * as PropTypes from 'prop-types'; import * as React from 'react'; import { Animated, ViewStyle, StyleProp } from 'react-native'; import { Geometry, Placement, Rect, Size } from './PopoverGeometry'; export type Orientation = 'portrait' | 'portrait-upside-down' | 'landscape' | 'landscape-left' | 'landscape-right'; export interface PopoverProps { visible?: boolean; onClose?: () => void; onDismiss?: () => void; arrowSize?: Size; placement?: Placement | 'auto'; fromRect: Rect; displayArea?: Rect; backgroundStyle?: StyleProp; arrowStyle?: StyleProp; popoverStyle?: StyleProp; contentStyle?: StyleProp; duration?: number; easing?: (show: boolean) => (value: number) => number; useNativeDriver?: boolean; supportedOrientations?: Orientation[]; calculateStatusBar?: boolean; children?: React.ReactNode; } export interface PopoverState extends Geometry { contentSize: Size; visible: boolean; isAwaitingShow: boolean; animation: Animated.Value; } export declare class Popover extends React.PureComponent { static propTypes: { visible: PropTypes.Requireable; onClose: PropTypes.Requireable<(...args: any[]) => any>; onDismiss: PropTypes.Requireable<(...args: any[]) => any>; arrowSize: PropTypes.Requireable; y: PropTypes.Requireable; }>>; placement: PropTypes.Requireable; fromRect: PropTypes.Requireable; y: PropTypes.Requireable; width: PropTypes.Requireable; height: PropTypes.Requireable; }>>; displayArea: PropTypes.Requireable; y: PropTypes.Requireable; width: PropTypes.Requireable; height: PropTypes.Requireable; }>>; backgroundStyle: PropTypes.Requireable; arrowStyle: PropTypes.Requireable; popoverStyle: PropTypes.Requireable; contentStyle: PropTypes.Requireable; duration: PropTypes.Requireable; easing: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: Partial; static displayName: string; private defaultDisplayArea; private dimensionsSub?; constructor(props: PopoverProps); componentDidMount(): void; componentWillUnmount(): void; private computeGeometry; private onOrientationChange; private updateState; private measureContent; private getTranslateOrigin; UNSAFE_componentWillReceiveProps(nextProps: PopoverProps): void; private startAnimation; private onHidden; private computeStyles; render(): JSX.Element; }