import { ReactNode } from 'react';
import { GenericComponent } from '../../@types/types';
import { BoxProps } from '../box/Box';
import { COLORS, TINTS } from '../../constants';
export interface PopoverProps extends Omit<BoxProps, 'ref'> {
    /** The state of the Popover, when true the Popover is rendered otherwise it is not. */
    active?: boolean;
    /** The Popovers anchor element. */
    anchorEl?: Element | null;
    /** The background colour of the Overlay. */
    backdrop?: string;
    /** The component wrapped by the Popover. */
    children?: ReactNode;
    /** The class names for the wrapper to apply custom styling. */
    className?: string;
    /** The background colour of the Popover. */
    color?: typeof COLORS[number];
    /** The preferred direction in which the Popover is rendered, is overridden with the opposite or adjacent direction if the Popover cannot be entirely displayed in the current direction. */
    direction?: 'north' | 'south' | 'east' | 'west';
    /** If true, the Popover stretches to fit its content vertically */
    fullHeight?: boolean;
    /** If true, the Popover stretches to fit its content horizontally */
    fullWidth?: boolean;
    /** The scroll state of the body, if true it will not be scrollable. */
    lockScroll?: boolean;
    /** The maximum width for the popover. */
    maxWidth?: string;
    /** The minimum width for the popover. */
    minWidth?: string;
    /** The amount of extra translation on the Popover (has no effect if position is "middle" or "center"). */
    offsetCorrection?: number;
    /** The function executed, when the "ESC" key is down. */
    onEscKeyDown?: () => void;
    /** The function executed, when the Overlay is clicked. */
    onOverlayClick?: () => void;
    /** The position in which the Popover is rendered, is overridden with the another position if the Popover cannot be entirely displayed in the current position. */
    position?: 'start' | 'center' | 'end';
    /** The tint of the background colour of the Popover. */
    tint?: typeof TINTS[number];
    /** The z-index of the Popover */
    zIndex?: number;
    /** Determines wether the focus should be returned to the source element, enabled by default in useFocusTrap */
    returnFocusToSource?: boolean;
}
declare const Popover: GenericComponent<PopoverProps>;
export default Popover;
