import type { ReactNode } from 'react'; import React from 'react'; import type { OverlayProps } from './types'; export interface PositionProps { container?: React.ReactNode | Function; containerPadding?: number; target?: ReactNode | Function; placement?: string; shouldUpdatePosition?: boolean; onUpdatePlacement?: OverlayProps['onUpdatePlacement']; offset?: [number?, number?] | { x?: number; y?: number; left?: number; top?: number; }; [prop: string]: any; } interface PositionState { activePlacement?: string; arrowOffsetLeft?: number | null; arrowOffsetTop?: number | null; positionLeft?: number; positionTop?: number; } export declare class Position extends React.Component { props: PositionProps; _lastTarget: any; resizeDispose: Array<() => void>; watchedTarget: any; setState: (state: PositionState) => void; static defaultProps: PositionProps; constructor(props: PositionProps); updatePosition(target: any): void; componentDidMount(): void; getTarget: () => any; componentDidUpdate(prevProps: PositionProps, prevState: PositionState): void; maybeUpdatePosition: (placementChanged: any) => void; componentWillUnmount(): void; render(): React.DetailedReactHTMLElement<{ offset: { x: number; y: number; }; positionLeft: number | undefined; positionTop: number | undefined; className: string; style: any; activePlacement?: string; arrowOffsetLeft?: number | null; arrowOffsetTop?: number | null; container?: React.ReactNode | Function; containerPadding?: number; target?: ReactNode | Function; placement?: string; shouldUpdatePosition?: boolean; }, HTMLElement>; } export {};