import { ChangeEvent, ReactNode } from 'react';
export type PopoverProps = {
    open: boolean;
    /**
     * The content of the component.
     */
    children?: ReactNode;
    onClose?: (reason: 'backdropClick' | 'escapeKeyDown', event: ChangeEvent<object>) => void;
    /**
     * This is the point on the popover which will attach to the anchor's origin.
     */
    transformOrigin?: {
        horizontal: 'center' | 'left' | 'right' | number;
        vertical: 'bottom' | 'center' | 'top' | number;
    };
    className?: string;
} & ({
    /**
     * A HTML element, or a function that returns it. It's used to set the position of the popover.
     *
     * Mutually exclusive with `position`
     *
     * @default { vertical: 'top', horizontal: 'left' }
     */
    anchorEl: HTMLElement | (() => HTMLElement) | null;
    /**
     * This is the point on the anchor where the popover's anchorEl will attach to.
     *
     * Mutually exclusive with `position`
     *
     * @default { vertical: 'top', horizontal: 'left',}
     */
    anchorOrigin?: {
        horizontal: 'center' | 'left' | 'right' | number;
        vertical: 'bottom' | 'center' | 'top' | number;
    };
    position?: never;
} | {
    /**
     * Defines Popover's position relative to application's viewport.
     *
     * Mutually exclusive with `anchorEl` and `anchorOrigin` props
     */
    position: {
        left: number;
        top: number;
    };
    anchorEl?: never;
    anchorOrigin?: never;
});
export declare const Popover: ({ children, open, onClose, transformOrigin, className, ...positionProps }: PopoverProps) => JSX.Element;
//# sourceMappingURL=Popover.d.ts.map