import { Direction, Position } from './Popover';
declare type Size = Pick<DOMRect, 'width' | 'height'>;
declare type PositionsByDirection = Record<Direction, NonNullable<Position>>;
export declare const getPointPossition: (viewportElement: HTMLElement, positionInDocument: Position, withCustomViewPort: boolean) => Position;
export declare const getRenderPosition: (viewportElement: HTMLElement, position: Position, withCustomViewPort: Boolean, width: number | undefined, height: number | undefined) => {
    x: number;
    y: number;
} | undefined;
export declare const getPositionsByDirection: ({ contentSize, anchorSize, position: { x, y }, arrowOffset, offset, }: {
    contentSize: Size;
    anchorSize: Size;
    position: NonNullable<Position>;
    arrowOffset?: number | undefined;
    offset?: number | undefined;
}) => PositionsByDirection;
declare type ComputedPositionAndDirectionParams = {
    position: Position;
    contentSize: Size;
    viewportSize: Size;
    anchorSize?: Size;
    offset?: number;
    arrowOffset?: number;
    direction: Direction;
    spareDirection: Direction;
    possibleDirections: readonly Direction[];
    bannedDirections: readonly Direction[];
};
export declare const getComputedPositionAndDirection: ({ position: initialPosition, contentSize, viewportSize, anchorSize, arrowOffset, direction: initialDirection, possibleDirections, bannedDirections, spareDirection, offset, }: ComputedPositionAndDirectionParams) => {
    direction: Direction;
    position: Position;
};
export {};
