import React from 'react'; import { AriaFocusProps } from '../../types/common'; import { IconProps } from '../icons/generated'; import { ButtonProps } from './Button'; import { ButtonKind } from './types'; import { DropdownOption } from '../dropdown/types'; export interface PopoverButtonProps extends Omit { /** @default false */ useIconButton?: boolean; /** @default 'medium' */ size?: 'xsmall' | 'small' | 'medium' | 'large'; /** * floating 요소가 reference 영역을 넘어갈 경우 자동 위치 처리 사용 유무 * - 자동 위치 상/하만 적용됩니다. * @default true */ autoPlacement?: boolean; /** @default getZIndex('dropdown') */ zIndex?: number; /** @default true */ optionsMatchRefWidth?: boolean; /** * Popover OptionList maxHeight값 * @default DEFAULT_DROPDOWN_MAX_HEIGHT(400) */ maxHeight?: number; disabled?: boolean; value?: OptionValue; /** * IconButton과 동시 지원을 위해 IconButtonKind로 제한합니다. * @default 'outlined_secondary' * */ kind?: ButtonKind; icon?: React.ReactElement>; onChange?: (value: OptionValue) => void; options: Array>; /** * 커스텀 버튼 렌더링 함수 */ renderButton?: ({ buttonProps, }: { buttonProps: { onClick: (e: React.MouseEvent) => void; } & Record; }) => React.ReactNode; } export declare const PopoverButton: ({ useIconButton, size: sizeProp, loading, type, kind, icon, startIcon, className, children, zIndex, autoPlacement: autoPlacementProps, optionsMatchRefWidth, options, value: valueProp, maxHeight, disabled, unstableFocusVisible, onChange, renderButton, }: PopoverButtonProps & AriaFocusProps) => import("@emotion/react/jsx-runtime").JSX.Element;