import React from 'react'; import { CSSValueWithLength } from '../../styles'; import { DropdownLabelProps } from '../dropdown/DropdownLabel'; import { InputSize } from '../input/types'; import type { CategoryEntry } from './types'; export interface ChipsDropdownOption { label: string; value: OptionValue; } export interface CategorySelectorDropdownProps { /** @default 300 */ width?: CSSValueWithLength; /** @default getZIndex('dropdown') */ zIndex?: number; /** @default 'medium' */ size?: InputSize; disabled?: boolean; /** * @deprecated 레거시 categoriesByLevels props 사용시에만 사용해주세요. */ selectedOptions?: Array>; /** `multiple`이 `true`일 때 선택된 option 값이 변경되면 호출됩니다. */ onChange?: (values: Array) => void; placeholder?: string; status?: DropdownLabelProps['status']; /** * Popover 바깥 영역 클릭시 팝업 닫기 여부 * @default false */ shouldCloseOnOutsideClick?: boolean; /** * multiple 모드 여부, true일 경우 DropdownChipLabel 사용, false일 경우 DropdownLabel 사용 * @default false */ multiple?: boolean; children?: React.ReactNode; } export interface CategorySelectorDropdownChildrenProps { multiple?: boolean; onChange?: (selectedKeys: Array, isLeaf?: boolean) => void; items?: CategoryEntry[]; selectedKeys?: Array; } export declare const CategorySelectorDropdown: ({ children, width, zIndex, disabled, selectedOptions, onChange, placeholder, status, size: sizeProp, shouldCloseOnOutsideClick, multiple: multipleProp, }: CategorySelectorDropdownProps) => import("@emotion/react/jsx-runtime").JSX.Element;