import React from 'react';
import { RangePickerProps } from 'antd/es/date-picker';
import { RadioGroupProps } from 'antd/es/radio';
export declare type PeriodType = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second';
export declare type RangeValue<T = number> = [T, T] | null;
export declare type ValueType<T = number> = {
    period: PeriodType;
    rangeTime: RangeValue<T>;
} | RangeValue<T>;
export interface PeriodData {
    /**
     * 间隔类型
     */
    periodType?: PeriodType;
    /**
     * 间隔值
     */
    periodValue?: number;
}
export interface OptionValue {
    /**
     * 粒度类型
     */
    value: PeriodType;
    /**
     * 粒度描述
     */
    label: string;
    /**
     * 粒度的数值
     */
    periodValue: number;
}
interface OtherProps {
    /**
     * 是否禁用选择
     * 设置为false则value类型为: [number, number];
     * 设置为true则value类型为 {
     *   period: PeriodType;
     *   rangeTime: [number, number]
     * }
     * @default true
     */
    disabledSelect?: boolean;
    /**
     * 默认的时间
     * 请注意设置则会在组件初始化时，触发onChange
     */
    defaultTimes?: RangePickerProps['value'];
    /**
     * 切换区域与选择时间区域的间隔
     */
    spaceSize?: number;
    /**
     * 是否禁用今天之后的日期
     * @default true
     */
    disabledAfterToday?: boolean;
    /**
     * 粒度改变时是否清空时间
     * @default true
     */
    periodChangeClearDate?: boolean;
    /**
     * 时间框非空才可触发onChange
     * @default true
     */
    dateNotNullChange?: boolean;
    /**
     * 选择项配置
     */
    options: OptionValue[];
    optionType?: RadioGroupProps['optionType'];
    value?: ValueType;
    onChange?: (value: ValueType) => void;
}
export declare type RangePickerProProps = Omit<RangePickerProps, 'value' | 'onChange'> & OtherProps;
declare const RangePickerPro: React.FC<RangePickerProProps>;
export default RangePickerPro;
