import { IPropertyComponent } from '../ztranslate';
import { IBaseValuePro } from './abase';
import { SyntheticEvent } from 'react';
/**
 * 单选按钮的定义
 */
interface IDatePickerPro extends IBaseValuePro {
    /** 外观样式 - rsuite DatePicker.appearance: 'default' | 'subtle' */
    appearance?: string;
    /** 是否为块级元素 */
    block?: boolean;
    /** 日历默认日期 - rsuite DatePicker.calendarDefaultDate */
    calendarDefaultDate?: number;
    /** 是否显示清除按钮 - rsuite DatePicker.cleanable */
    cleanable?: boolean;
    /** 弹出层容器 - rsuite DatePicker.container */
    container?: string;
    /** 默认是否打开 - rsuite DatePicker.defaultOpen */
    defaultOpen?: boolean;
    /** 默认值 - rsuite DatePicker.defaultValue */
    defaultValue?: number;
    /** 禁用日期函数 - rsuite DatePicker.disabledDate */
    disabledDate?: (date: Date) => boolean;
    /** 禁用小时函数 - rsuite DatePicker.disabledHours */
    disabledHours?: (hour: number, date: Date) => boolean;
    /** 禁用分钟函数 - rsuite DatePicker.disabledMinutes */
    disabledMinutes?: (minute: number, date: Date) => boolean;
    /** 禁用秒函数 - rsuite DatePicker.disabledSeconds */
    disabledSeconds?: (second: number, date: Date) => boolean;
    /** 日期格式 - rsuite DatePicker.format: 'YYYY-MM-DD' | 'YYYY-MM-DD HH:mm' 等 */
    format?: string;
    /** 隐藏小时选项函数 - rsuite DatePicker.hideHours */
    hideHours?: (hour: number, date: Date) => boolean;
    /** 隐藏分钟选项函数 - rsuite DatePicker.hideMinutes */
    hideMinutes?: (minute: number, date: Date) => boolean;
    /** 隐藏秒选项函数 - rsuite DatePicker.hideSeconds */
    hideSeconds?: (second: number, date: Date) => boolean;
    /** 是否内联显示 - rsuite DatePicker.inline */
    inline?: boolean;
    /** 是否以ISO周显示 - rsuite DatePicker.isoWeek */
    isoWeek?: boolean;
    /** 限制可选择的结束年份 - rsuite DatePicker.limitEndYear */
    limitEndYear?: number;
    /** 本地化配置 - rsuite DatePicker.locale */
    locale?: any;
    /** 弹出菜单样式类名 - rsuite DatePicker.menuClassName */
    menuClassName?: string;
    /** 值改变事件 - rsuite DatePicker.onChange */
    onChange?: (date: any) => void;
    /** 日历日期改变事件 - rsuite DatePicker.onChangeCalendarDate */
    onChangeCalendarDate?: (date: Date, event?: SyntheticEvent) => void;
    /** 清除事件 - rsuite DatePicker.onClean */
    onClean?: (event: SyntheticEvent) => void;
    /** 关闭事件 - rsuite DatePicker.onClose */
    onClose?: () => void;
    /** 进入动画开始事件 - rsuite DatePicker.onEnter */
    onEnter?: () => void;
    /** 进入动画完成事件 - rsuite DatePicker.onEntered */
    onEntered?: () => void;
    /** 进入动画中事件 - rsuite DatePicker.onEntering */
    onEntering?: () => void;
    /** 退出动画开始事件 - rsuite DatePicker.onExit */
    onExit?: () => void;
    /** 退出动画完成事件 - rsuite DatePicker.onExited */
    onExited?: () => void;
    /** 退出动画中事件 - rsuite DatePicker.onExiting */
    onExiting?: () => void;
    /** 下一月事件 - rsuite DatePicker.onNextMonth */
    onNextMonth?: (date: Date) => void;
    /** 确认事件 - rsuite DatePicker.onOk */
    onOk?: (date: Date, event: SyntheticEvent) => void;
    /** 打开事件 - rsuite DatePicker.onOpen */
    onOpen?: () => void;
    /** 上一月事件 - rsuite DatePicker.onPrevMonth */
    onPrevMonth?: (date: Date) => void;
    /** 选择日期事件 - rsuite DatePicker.onSelect */
    onSelect?: (date: Date) => void;
    /** 切换月份下拉事件 - rsuite DatePicker.onToggleMonthDropdown */
    onToggleMonthDropdown?: (date: Date) => void;
    /** 切换时间下拉事件 - rsuite DatePicker.onToggleTimeDropdown */
    onToggleTimeDropdown?: (date: Date) => void;
    /** 是否点击一次完成选择 - rsuite DatePicker.oneTap */
    oneTap?: boolean;
    /** 是否打开(受控) - rsuite DatePicker.open */
    open?: boolean;
    /** 弹出位置 - rsuite DatePicker.placement: 'auto' | 'topStart' | 'bottomEnd' 等 */
    placement?: string;
    /** 是否防止溢出 - rsuite DatePicker.preventOverflow */
    preventOverflow?: boolean;
    /** 快捷选项配置 - rsuite DatePicker.ranges */
    ranges?: any;
    /** 是否显示上午/下午 - rsuite DatePicker.showMeridian */
    showMeridian?: boolean;
    /** 是否显示周数 - rsuite DatePicker.showWeekNumbers */
    showWeekNumbers?: boolean;
    /** 自定义触发元素类型 - rsuite DatePicker.toggleComponentClass */
    toggleComponentClass?: React.ElementType;
    /** 绑定的值 - rsuite DatePicker.value */
    value?: number | any[];
    /** 是否为范围选择 */
    isrange?: boolean;
    /** 范围选择器组件类型 - rsuite DateRangePicker */
    rangepickertype?: IPropertyComponent;
    /** 数据是否为秒级单位 */
    isminiute?: boolean;
    /** 组件尺寸 - rsuite DatePicker.size: 'xs' | 'sm' | 'md' | 'lg' */
    size?: string;
}
export type { IDatePickerPro };
