import { ButtonHTMLAttributes, ReactNode } from 'react';
import { Placement } from 'react-aria';
import { type VariantProps } from 'tailwind-variants';
import { ResponsiveVariants } from '../../types/responsive-variants.types.js';
import { ButtonProps } from '../button/index.js';
import { IconProps } from '../icon/icon.types.js';
import { DropdownPanelProps } from './components/dropdown-panel/dropdown-panel.types.js';
import { styles } from './dropdown.styles.js';
type Variants = VariantProps;
export type DropdownProps = {
/**
* Dropdown body content
*/
children?: ReactNode;
/**
* Size of the dropdown panel
*/
dropdownSize?: ResponsiveVariants;
/**
* State of whether the Popover is open
*/
open?: boolean;
/**
* Soft look button
*/
soft?: ButtonProps['soft'];
/**
* Uses portal to render popover
*/
portalContainer?: Element;
/**
* portal className
*/
portalClassName?: string;
/**
* placement of the popover
*/
placement?: Placement;
/**
* Look for button
*/
look?: 'primary' | 'hero' | 'faint' | 'unstyled' | 'link';
/**
* Button text
*/
text?: ReactNode;
/**
* Dropdown icon
*/
dropDownIcon?: (props: IconProps) => ReactNode;
} & ButtonHTMLAttributes & Pick & Pick;
export {};