import { Component, RefObject, ReactNode } from 'react'; import PropTypes from 'prop-types'; import { View, ViewProps } from 'react-native'; import { Rect, PopoverProps, Placement, Mode, Point, Size } from './Types'; export interface PublicPopoverProps extends Omit { displayArea?: Pick; arrowSize?: Pick; mode?: Mode; from?: Rect | RefObject | ((sourceRef: RefObject, openPopover: () => void) => ReactNode) | ReactNode | Point; testID?: ViewProps['testID']; } interface PublicPopoverState { isVisible: boolean; } export default class Popover extends Component { static propTypes: { isVisible: PropTypes.Requireable; from: PropTypes.Requireable; displayArea: PropTypes.Requireable; y: PropTypes.Requireable; width: PropTypes.Requireable; height: PropTypes.Requireable; }>>>; displayAreaInsets: PropTypes.Requireable; right: PropTypes.Requireable; top: PropTypes.Requireable; bottom: PropTypes.Requireable; }>>; placement: PropTypes.Requireable; animationConfig: PropTypes.Requireable; verticalOffset: PropTypes.Requireable; popoverStyle: any; popoverShift: PropTypes.Requireable; y: PropTypes.Requireable; }>>; backgroundStyle: any; arrowSize: PropTypes.Requireable; height: PropTypes.Requireable; }>>; arrowShift: PropTypes.Requireable; onOpenStart: PropTypes.Requireable<(...args: any[]) => any>; onOpenComplete: PropTypes.Requireable<(...args: any[]) => any>; onRequestClose: PropTypes.Requireable<(...args: any[]) => any>; onCloseStart: PropTypes.Requireable<(...args: any[]) => any>; onCloseComplete: PropTypes.Requireable<(...args: any[]) => any>; onPositionChange: PropTypes.Requireable<(...args: any[]) => any>; debug: PropTypes.Requireable; }; static defaultProps: Partial; state: { isVisible: boolean; }; private sourceRef; render(): ReactNode; } export {};