import React from 'react';
import type { ActionObject } from 'jamis-core';
import type { InputRangeValue, RangeFormatValue, RangeItemProps, RangeProps } from './types';
interface RangeState {
    value: RangeFormatValue;
}
/**
 * 格式化初始value值
 * @param value 初始value值 Value
 * @param props RangeProps
 * @returns number | {min: number, max: number}
 */
export declare function formatValue(value: InputRangeValue, props: {
    multiple: boolean;
    delimiter: string;
    min: number;
    max: number;
}): RangeFormatValue;
/**
 * 输入框
 */
export declare class InputRangeWrap extends React.Component<RangeItemProps, any> {
    /**
     * onChange事件，只能输入数字
     * @param e React.ChangeEvent
     */
    onChange(value: number): void;
    /**
     * 双滑块 更新value
     * @param value 输入的value值
     */
    onUpdateValue(value: number): void;
    checkNum(value: number | string | undefined): number | undefined;
    /**
     * 获取步长小数精度
     * @returns
     */
    getStepPrecision(): number;
    /**
     * 处理数据
     * @param value input数据
     * @param type min | max 双滑块
     * @returns 处理之后数据
     */
    getValue(value: string | number, type?: string): number;
    /**
     * 失焦事件
     */
    onBlur(): void;
    /**
     * 聚焦事件
     */
    onFocus(): Promise<void>;
    render(): JSX.Element;
}
export default class RangeControl extends React.PureComponent<RangeProps, RangeState> {
    midLabel?: HTMLSpanElement;
    static defaultProps: Partial<RangeProps>;
    constructor(props: RangeProps);
    componentDidUpdate(prevProps: RangeProps): void;
    doAction(action: ActionObject, data: object, throwErrors: boolean): void;
    clearValue(type?: string): void;
    getValue(value: RangeFormatValue): number | {
        max: number;
        min: number;
    };
    /**
     * 所有触发value变换 -> updateValue
     * @param value
     */
    updateValue(value: RangeFormatValue): Promise<void>;
    /**
     * 鼠标松开事件
     */
    onAfterChange(): void;
    /**
     * 获取导出格式数据
     */
    getFormatValue(value: RangeFormatValue): string | RangeFormatValue;
    render(): JSX.Element;
}
export declare class RangeControlRenderer extends RangeControl {
}
export {};
