import { type ReactNode, type ReactElement, type JSX, type AriaRole } from 'react';
export type DropdownPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
interface DropdownContextValue {
    close: () => void;
    open: () => void;
    isOpen: boolean;
}
export declare const useDropdown: () => DropdownContextValue;
export interface DropdownProps {
    trigger: ReactElement | ((isOpen: boolean) => ReactElement);
    children: ReactNode;
    className?: string;
    contentClassName?: string;
    placement?: DropdownPlacement;
    offset?: number;
    matchTriggerWidth?: boolean;
    open?: boolean;
    defaultOpen?: boolean;
    onOpenChange?: (open: boolean) => void;
    closeOnItemClick?: boolean;
    portalContainer?: HTMLElement | null;
    contentRole?: AriaRole;
    contentAriaLabel?: string;
    ariaLabel?: string;
}
export declare const Dropdown: ({ trigger, children, className, contentClassName, placement, offset, matchTriggerWidth, open, defaultOpen, onOpenChange, closeOnItemClick, portalContainer, contentRole, contentAriaLabel, ariaLabel, }: DropdownProps) => JSX.Element;
export {};
//# sourceMappingURL=Dropdown.d.ts.map