import React, { Ref, ReactNode } from 'react'; import { DropdownLabelProps } from './DropdownLabel'; import { CSSValueWithLength } from '../../styles'; import { InputSize } from '../input/types'; import { AriaFocusProps } from '../../types/common'; import { DropdownOption } from './types'; export interface DropdownProps { className?: string; width?: CSSValueWithLength; /** @default DEFAULT_DROPDOWN_MAX_HEIGHT */ maxHeight?: number; /** @default getZIndex('dropdown') */ zIndex?: number; /** @default 'medium' */ size?: InputSize; labelHeight?: CSSValueWithLength; optionItemHeight?: number; disabled?: boolean; /** @default true */ optionsMatchRefWidth?: boolean; options: Array>; placeholder?: string; status?: DropdownLabelProps['status']; value?: OptionValue; /** * floating 요소가 reference 영역을 넘어갈 경우 자동 위치 처리 사용 유무 * - 자동 위치 상/하만 적용됩니다. * * @default true */ autoPlacement?: boolean; keyExtractor?: (item: DropdownOption, index: number) => string | number; onChange?: (value: OptionValue) => void; renderLabel?: (selectedOption: DropdownOption) => ReactNode; enableVirtualScroll?: boolean; } export declare const Dropdown: ((props: DropdownProps & AriaFocusProps & { ref?: React.Ref | undefined; }) => JSX.Element) & { displayName?: string | undefined; };