import { type ComponentProps, type ComponentPropsWithRef, type ComponentType, type FC, type ReactElement, type ReactNode } from 'react'; import { type AnchorButton, Button, type AbstractProps as ButtonProps } from '../../Button'; import { FaCaretDownIcon } from '../../Icon'; import type { RemoteDialogTrigger } from '../../Dialog'; type Actions = ActionItem | ActionItem[]; type ActionItem = ReactElement> | ReactElement> | ReactElement> | ReactNode; type ObjectTriggerType = { /** 引き金となるボタンラベル */ children: ReactNode; /** 引き金となるボタンの大きさ */ size?: ButtonProps['size']; /** 引き金となるボタンをアイコンのみとするかどうか */ onlyIcon?: boolean | { /** 引き金となるアイコンを差し替えたい場合(onlyIcon=true の場合のみ有効) */ component?: ComponentType>; }; }; type AbstractProps = { /** 引き金となるボタン */ trigger: ReactNode | ObjectTriggerType; /** 操作群 */ children: Actions; /** ドロップダウンメニューが開かれた際のイベント */ onOpen?: () => void; /** ドロップダウンメニューが閉じられた際のイベント */ onClose?: () => void; }; type ElementProps = Omit, keyof AbstractProps>; type Props = AbstractProps & ElementProps; export declare const DropdownMenuButton: FC; export declare const renderButtonList: (children: Actions) => (string | number | ReactElement> | Iterable | import("react").ReactPortal)[] | null | undefined; export {};