import React from 'react';
export type Placement = 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'right' | 'top' | 'top-left' | 'top-right';
export interface DropdownProps {
    children?: React.ReactNode;
    className?: string;
    /** If the `controller` is a function,
     * then it is implied that the controller will handle the click event to open the dropdown container. */
    controller?: React.ReactNode | ((params: {
        close: () => void;
        isOpen: boolean;
        open: () => void;
    }) => React.ReactNode);
    containerRef?: React.MutableRefObject<HTMLElement> | React.RefObject<HTMLElement>;
    controllerPlace?: Placement;
    disabled?: boolean;
    dropdownContainerClass?: string;
    dropdownInset?: boolean;
    dropdownPlace?: Placement;
    isOpen?: boolean;
    onClose?: () => void;
    onOpen?: () => void;
}
declare const Dropdown: ({ children, className, containerRef, controller, controllerPlace, disabled, dropdownContainerClass, dropdownInset, dropdownPlace, isOpen, onClose, onOpen, }: DropdownProps) => React.ReactElement | null;
export { Dropdown };
