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;
}