///
import { Component, ReactNode, RefObject } from 'react';
import { View } from 'react-native';
import { Point, PopoverProps, Rect } from './Types.js';
interface AdaptivePopoverState {
fromRect: Rect | null;
shiftedDisplayArea: Rect | null;
defaultDisplayArea: Rect | null;
displayAreaOffset: Point | null;
showing: boolean;
}
type AdaptivePopoverProps = PopoverProps & {
fromRect?: Rect;
fromRef?: RefObject;
displayArea?: Rect;
getDisplayAreaOffset: () => Promise;
showBackground?: boolean;
};
export default class AdaptivePopover extends Component {
state: {
fromRect: any;
shiftedDisplayArea: any;
defaultDisplayArea: any;
displayAreaOffset: any;
showing: boolean;
};
getUnshiftedDisplayArea(): Rect;
getDisplayArea(): Rect;
private waitForResizeToFinish;
private skipNextDefaultDisplayArea;
private displayAreaStore;
private _isMounted;
private keyboardDidHideSubscription;
private keyboardDidShowSubscription;
private handleResizeEventSubscription;
constructor(props: AdaptivePopoverProps);
componentDidMount(): void;
componentWillUnmount(): void;
componentDidUpdate(prevProps: AdaptivePopoverProps): void;
handleResizeEvent(change: unknown): void;
debug(line: string, obj?: unknown): void;
setDefaultDisplayArea(newDisplayArea: Rect): Promise;
keyboardDidShow(e: {
endCoordinates: {
height: number;
};
}): void;
keyboardDidHide(): void;
shiftForKeyboard(keyboardHeight: number): void;
calculateRectFromRef(): Promise;
render(): ReactNode;
}
export {};