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