import { Popover as BasePopover } from "@base-ui/react/popover";
import { useRender } from "@base-ui/react/use-render";
import * as React from "react";
interface PopoverProps extends React.ComponentPropsWithRef<typeof BasePopover.Root> {
}
interface PopoverTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BasePopover.Trigger>, "className"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
    /**
     * Enables child element composition instead of rendering the default wrapper.
     * @default false
     * @deprecated Prefer Base UI's `render` prop.
     */
    asChild?: boolean;
}
interface PopoverAnchorProps extends React.ComponentPropsWithRef<"div"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
    /**
     * Overrides the default rendered element while preserving component behavior.
     * @default undefined
     */
    render?: useRender.RenderProp<Record<string, never>>;
    /**
     * Enables child element composition instead of rendering the default wrapper.
     * @default false
     * @deprecated Prefer Base UI's `render` prop.
     */
    asChild?: boolean;
}
interface PopoverContentProps extends Omit<React.ComponentPropsWithRef<typeof BasePopover.Positioner>, "className"> {
    /**
     * Applies additional CSS classes to the component root element.
     * @default undefined
     */
    className?: string;
    /**
     * Offsets the floating content from its anchor in pixels.
     * @default 4
     */
    sideOffset?: number;
}
/**
 * Coordinates popover state and accessibility behavior.
 *
 * @remarks
 * - Delegates structure and state to the underlying Base UI primitive
 * - Built on {@link https://base-ui.com/react/components/popover | Base UI Popover}
 * - Preserves the underlying primitive API for advanced composition
 *
 * @example
 * ```tsx
 * <Popover>Content</Popover>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/popover | Base UI Documentation}
 */
declare function Popover(props: Readonly<Popover.Props>): React.ReactElement;
declare namespace Popover {
    var displayName: string;
}
/**
 * Renders the popover trigger.
 *
 * @remarks
 * - Renders a `<button>` element by default
 * - Built on {@link https://base-ui.com/react/components/popover | Base UI Popover}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <PopoverTrigger>Content</PopoverTrigger>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/popover | Base UI Documentation}
 */
declare const PopoverTrigger: React.ForwardRefExoticComponent<Omit<PopoverTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
/**
 * Renders the popover anchor.
 *
 * @remarks
 * - Renders a `<div>` element by default
 * - Built on {@link https://base-ui.com/react/components/popover | Base UI Popover}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <PopoverAnchor>Content</PopoverAnchor>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/popover | Base UI Documentation}
 */
declare function PopoverAnchor(props: Readonly<PopoverAnchor.Props>): React.ReactElement;
declare namespace PopoverAnchor {
    var displayName: string;
}
/**
 * Renders the popover content.
 *
 * @remarks
 * - Renders a `<div>` element by default
 * - Built on {@link https://base-ui.com/react/components/popover | Base UI Popover}
 * - Supports the `render` prop for element composition
 *
 * @example
 * ```tsx
 * <PopoverContent>Content</PopoverContent>
 * ```
 *
 * @see {@link https://base-ui.com/react/components/popover | Base UI Documentation}
 */
declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare namespace Popover {
    type Props = PopoverProps;
    type State = BasePopover.Root.State;
}
declare namespace PopoverTrigger {
    type Props = PopoverTriggerProps;
    type State = BasePopover.Trigger.State;
}
declare namespace PopoverAnchor {
    type Props = PopoverAnchorProps;
    type State = Record<string, never>;
}
declare namespace PopoverContent {
    type Props = PopoverContentProps;
    type State = BasePopover.Popup.State;
}
export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };
//# sourceMappingURL=popover.d.ts.map