import { ButtonProps } from '../primitives';
import { ComponentProps, PropsWithChildren, type ReactNode } from 'react';
import type { AriaPopoverProps, Placement } from 'react-aria';
interface OverlayTriggerProps extends ButtonProps {
    isOpen?: boolean;
    defaultOpen?: boolean;
    onOpenChange?: (isOpen: boolean) => void;
    placement?: Placement;
    trigger?: 'click' | 'hover';
}
interface OverlayTriggerState {
    readonly isOpen: boolean;
    setOpen(isOpen: boolean): void;
    open(): void;
    close(): void;
    toggle(): void;
}
type PopoverContentProps = Omit<AriaPopoverProps, 'popoverRef' | 'triggerRef'> & {
    children?: ReactNode;
    state?: OverlayTriggerState;
} & ComponentProps<'div'>;
export declare const DEFAULT_PLACEMENT: Placement;
export declare const DEFAULT_OFFSET = 8;
export type PopoverProps = PropsWithChildren<OverlayTriggerProps>;
export declare const PopoverHost: ({ children, ...props }: PopoverProps) => JSX.Element;
export declare const Popover: (({ children, ...props }: PopoverProps) => JSX.Element) & {
    Trigger: ({ children, ...props }: any) => import("react/jsx-runtime").JSX.Element;
    LeadingIcon: (props: any) => import("react/jsx-runtime").JSX.Element;
    TrailingIcon: (props: any) => import("react/jsx-runtime").JSX.Element;
    Content: ({ children }: PopoverContentProps) => import("react/jsx-runtime").JSX.Element;
};
export default Popover;
//# sourceMappingURL=popover.d.ts.map