import { ComponentPropsWithoutRef, ReactNode } from 'react';
import { IconicNames } from '@clubmed/trident-icons';
interface DropdownRenderContext {
    close: () => void;
    open: boolean;
    toggle: () => void;
}
type DropdownChildren = ReactNode | ((context: DropdownRenderContext) => ReactNode);
export interface DropdownProps extends Omit<ComponentPropsWithoutRef<'button'>, 'children'> {
    children?: DropdownChildren;
    icon?: IconicNames;
}
export declare function useDropdown(initialChildren?: DropdownChildren): {
    children: ReactNode[];
    close: () => void;
    containerRef: import('react').RefObject<HTMLDivElement | null>;
    isLeaving: boolean;
    label: ReactNode[];
    open: boolean;
    toggle: () => void;
};
export declare function Dropdown({ icon, className, children: initialChildren, ...attrs }: DropdownProps): import("react/jsx-runtime").JSX.Element;
export {};
