import { FC, Ref, HTMLAttributes, ReactNode } from 'react';
import { SliderButtonProps } from '../SliderButton';
import '../style';
import { Status } from '../interface';
export type TipTextType = {
/**
* @description 默认状态显示内容。
* @default '向右拖动滑块填充拼图'
*/
default: ReactNode;
/**
* @description 加载中显示内容。
* @default '加载中...'
*/
loading: ReactNode;
/**
* @description 用户操作滑块移动中显示内容。
* @default null
*/
moving: ReactNode;
/**
* @description 用户停止操作验证中显示内容。
* @default null
*/
verifying: ReactNode;
/**
* @description 验证成功显示内容。
* @default null
*/
success: ReactNode;
/**
* @description 验证失败显示内容。
* @default null
*/
error: ReactNode;
/**
* @description 验证失败且连续错误次数超出限制显示内容。
* @default 失败过多,点击重试
*/
errors: ReactNode;
/**
* @description `request` 请求返回失败显示内容。
* @default '加载失败,点击重试'
*/
loadFailed: ReactNode;
};
export type TipIconType = {
/**
* @description 默认状态滑轨按钮图标。
* @default
*/
default: ReactNode;
/**
* @description 加载中滑轨按钮图标。
* @default
*/
loading: ReactNode;
/**
* @description 验证失败滑轨提示图标。
* @default
*/
error: ReactNode;
/**
* @description 验证成功滑轨提示图标。
* @default
*/
success: ReactNode;
};
export type ControlBarRefType = {
getSliderButtonWidth(force?: boolean): number;
getIndicatorBorderWidth(force?: boolean): number;
getRect(force?: boolean): DOMRect;
updateLeft(left: number): void;
};
interface ControlBarProps extends HTMLAttributes {
status?: Status;
isLimitErrors?: boolean;
tipText?: Partial;
tipIcon?: Partial;
sliderButtonProps?: SliderButtonProps;
indicatorProps?: HTMLAttributes;
controlRef?: Ref;
}
declare const ControlBar: FC;
export default ControlBar;