import { PopoverProps as AriaPopoverProps } from 'react-aria-components/Popover';
import { ContextValue } from 'react-aria-components/slots';
import { ReactNode } from 'react';
import { DialogProps } from 'react-aria-components/Dialog';
import { DOMRefValue, GlobalDOMAttributes } from '@react-types/shared';
import { heightProperties, UnsafeStyles, widthProperties } from './style-utils';
import { StyleString } from '../style/types';
export interface PopoverProps extends UnsafeStyles, Omit<AriaPopoverProps, 'arrowSize' | 'isNonModal' | 'arrowBoundaryOffset' | 'isKeyboardDismissDisabled' | 'shouldCloseOnInteractOutside' | 'shouldUpdatePosition' | 'style' | 'className' | 'render' | keyof GlobalDOMAttributes> {
    /**
     * The styles of the popover.
     */
    styles?: StyleString;
    /**
     * Whether a popover's arrow should be hidden.
     *
     * @default false
     */
    hideArrow?: boolean;
    /**
     * The size of the Popover. If not specified, the popover fits its contents.
     */
    size?: 'S' | 'M' | 'L';
}
export declare const PopoverContext: import("react").Context<ContextValue<PopoverProps, DOMRefValue<HTMLDivElement>>>;
export declare const InPopoverContext: import("react").Context<boolean>;
export declare const PopoverBase: import("react").ForwardRefExoticComponent<PopoverProps & import("react").RefAttributes<HTMLDivElement | null>>;
type PopoverStylesProp = StyleString<((typeof widthProperties)[number] | (typeof heightProperties)[number])>;
export interface PopoverDialogProps extends Pick<PopoverProps, 'size' | 'hideArrow' | 'placement' | 'shouldFlip' | 'containerPadding' | 'offset' | 'crossOffset' | 'triggerRef' | 'isOpen' | 'onOpenChange'>, Omit<DialogProps, 'children' | 'className' | 'style' | 'render' | keyof GlobalDOMAttributes>, UnsafeStyles {
    /**
     * The children of the popover.
     */
    children?: ReactNode;
    /**
     * The amount of padding around the contents of the dialog.
     * @default 'default'
     */
    padding?: 'default' | 'none';
    /** Spectrum-defined styles, returned by the `style()` macro. */
    styles?: PopoverStylesProp;
}
/**
 * A popover is an overlay element positioned relative to a trigger.
 */
export declare const Popover: import("react").ForwardRefExoticComponent<PopoverDialogProps & import("react").RefAttributes<DOMRefValue<HTMLDivElement>>>;
export {};
