import { ReactNode, Ref, HTMLAttributes, FocusEventHandler, KeyboardEventHandler } from 'react'; import { ButtonProps } from '@befe/brick-comp-button'; import { ConfiguredComponent } from '@befe/brick-core'; import { SelectStatus } from './common'; export declare const SELECT_SIZES: readonly ["xs", "sm", "md", "lg"]; export type SelectSize = (typeof SELECT_SIZES)[number]; export interface SelectSelectionProps extends Pick, 'tabIndex'> { /** * 自定义 class */ className?: string; /** * 未选择占位提示 */ placeholder?: string; /** * 尺寸 */ size?: SelectSize; /** * 多选模式 * 选择个数统计 */ selectedStats?: string; /** * 是否禁用 */ disabled?: boolean; /** * 下拉框状态 */ status?: SelectStatus; /** * 已选择显示内容 */ selectedContent?: ReactNode; /** * 自定义后缀 * 一般为 Icon,因内置了标准化的尺寸样式, * 如不是 Icon,则需要进行额外的补偿样式覆盖 */ suffix?: ReactNode; /** * 是否使用清除按钮 */ withClear?: boolean; /** * ref to 清除按钮的 HTMLElement */ refClearButtonElement?: Ref; /** * 点击清除按钮回调 */ onClickClear?: ButtonProps['onClick']; /** * 是否处于展开状态 */ expanded?: boolean; /** * 是否有边框 */ bordered?: boolean; /** * 聚焦回调 */ onFocus?: FocusEventHandler; /** * 失焦回调 */ onBlur?: FocusEventHandler; /** * 键盘按下回调 */ onKeyDown?: KeyboardEventHandler; /** * 已选则内容的 title tip */ selectedTitle?: string; /** * 自定义下拉箭头图标 */ suffixArrow?: React.FC; /** * 自定义展开选项时的下拉箭头图标, * 如未定义,且定义 suffixArrow,则使用 suffixArrow */ suffixArrowExpanded?: React.FC; } export declare class SelectSelection extends ConfiguredComponent { static displayName: string; static defaultProps: { className: string; disabled: boolean; bordered: boolean; withClear: boolean; status: string; }; get className(): string; get size(): "xs" | "sm" | "md" | "lg"; get tabIndex(): number; get withClear(): boolean | undefined; get hasValue(): boolean; get suffixArrow(): import("react").FC<{}> | ((props: import("react").SVGProps) => Omit); get suffixArrowExpanded(): import("react").FC<{}> | ((props: import("react").SVGProps) => Omit); handleMouseDownClear: ButtonProps['onMouseDown']; renderPlaceholder(): import("react/jsx-runtime").JSX.Element | null; renderClearBtn(): import("react/jsx-runtime").JSX.Element | null; renderSuffix(): import("react/jsx-runtime").JSX.Element; renderSelected(): import("react/jsx-runtime").JSX.Element; render(): import("react/jsx-runtime").JSX.Element; }