import { ExtractPropTypes, PropType } from 'vue';
import { PopupPositionT, PopupTriggerT } from '../popup';
/**
 * @zh-CN 禁用小时的判断函数，返回被禁用的小时数组
 * @en-US Function to determine disabled hours, returns array of disabled hour numbers
 */
export type DisabledHoursFn = () => number[];
/**
 * @zh-CN 禁用分钟的判断函数，接收当前小时，返回被禁用的分钟数组
 * @en-US Function to determine disabled minutes, receives current hour and returns array of disabled minute numbers
 */
export type DisabledMinutesFn = (hour: number) => number[];
/**
 * @zh-CN 禁用秒的判断函数，接收当前小时和分钟，返回被禁用的秒数组
 * @en-US Function to determine disabled seconds, receives current hour and minute and returns array of disabled second numbers
 */
export type DisabledSecondsFn = (hour: number, minute: number) => number[];
export declare const timePickerProps: {
    placeholder: {
        type: StringConstructor;
    };
    inputId: {
        type: StringConstructor;
    };
    disabled: {
        type: BooleanConstructor;
    };
    readonly: {
        type: BooleanConstructor;
    };
    size: {
        type: PropType<import('..').SizeT>;
    };
    round: {
        type: PropType<import('..').RoundT>;
    };
    color: {
        type: PropType<import('..').Color2T>;
        default: string;
    };
    variant: {
        type: PropType<import('..').VariantT>;
        default: string;
    };
    noResponsive: {
        type: BooleanConstructor;
    };
    optionTitle: {
        type: StringConstructor;
    };
    /**
     * @zh-CN 时间格式
     * @en-US Time format.
     * @default 'HH:mm:ss'
     */
    format: {
        type: StringConstructor;
        default: string;
    };
    /**
     * @zh-CN 选项触发方式
     * @en-US Option trigger method.
     * @default 'click'
     */
    trigger: {
        type: PropType<PopupTriggerT>;
        default: string;
    };
    /**
     * @zh-CN 支持快速清除
     * @en-US Support quick clearing.
     */
    clearable: {
        type: BooleanConstructor;
    };
    /**
     * @zh-CN 弹出框位置
     * @en-US Popup position.
     * @default 'bl'
     */
    popupPosition: {
        type: PropType<PopupPositionT>;
        default: string;
    };
    /**
     * @zh-CN 弹出框挂载容器
     * @en-US Popup wrapper.
     * @default 'body'
     */
    popupWrapper: {
        type: PropType<string | HTMLElement | null>;
        default: string;
    };
    /**
     * @zh-CN 是否在结束选择时，卸载所有选项，v-model
     * @en-US Whether to uninstall all options when ending the selection.
     * @default true
     */
    unmountOnHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @zh-CN 过渡名称
     * @en-US Transition name.
     */
    transition: {
        type: StringConstructor;
    };
    /**
     * @zh-CN 步进：小时
     * @en-US Step for hours.
     * @default 1
     */
    hourStep: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * @zh-CN 步进：分钟
     * @en-US Step for minutes.
     * @default 1
     */
    minuteStep: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * @zh-CN 步进：秒
     * @en-US Step for seconds.
     * @default 1
     */
    secondStep: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * @zh-CN 禁用的小时列表，返回被禁用的小时数组
     * @en-US Function to specify the hours that cannot be selected.
     */
    disabledHours: {
        type: PropType<DisabledHoursFn>;
        default: undefined;
    };
    /**
     * @zh-CN 禁用的分钟列表，返回被禁用的分钟数组
     * @en-US Function to specify the minutes that cannot be selected.
     */
    disabledMinutes: {
        type: PropType<DisabledMinutesFn>;
        default: undefined;
    };
    /**
     * @zh-CN 禁用的秒列表，返回被禁用的秒数组
     * @en-US Function to specify the seconds that cannot be selected.
     */
    disabledSeconds: {
        type: PropType<DisabledSecondsFn>;
        default: undefined;
    };
    /**
     * @zh-CN 最小可选时间，可与 disabledHours/disabledMinutes/disabledSeconds 同时使用，约束效果取并集
     * @en-US Minimum selectable time. Can be used together with disabledHours/disabledMinutes/disabledSeconds; constraints are merged.
     */
    minTime: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * @zh-CN 最大可选时间，可与 disabledHours/disabledMinutes/disabledSeconds 同时使用，约束效果取并集
     * @en-US Maximum selectable time. Can be used together with disabledHours/disabledMinutes/disabledSeconds; constraints are merged.
     */
    maxTime: {
        type: StringConstructor;
        default: undefined;
    };
};
export type TimePickerPropsT = ExtractPropTypes<typeof timePickerProps>;
export declare const timeRangePickerProps: {
    inputId: {
        type: StringConstructor;
    };
    disabled: {
        type: BooleanConstructor;
    };
    readonly: {
        type: BooleanConstructor;
    };
    size: {
        type: PropType<import('..').SizeT>;
    };
    round: {
        type: PropType<import('..').RoundT>;
    };
    color: {
        type: PropType<import('..').Color2T>;
        default: string;
    };
    variant: {
        type: PropType<import('..').VariantT>;
        default: string;
    };
    noResponsive: {
        type: BooleanConstructor;
    };
    optionTitle: {
        type: StringConstructor;
    };
    format: {
        type: StringConstructor;
        default: string;
    };
    trigger: {
        type: PropType<PopupTriggerT>;
        default: string;
    };
    clearable: {
        type: BooleanConstructor;
    };
    popupPosition: {
        type: PropType<PopupPositionT>;
        default: string;
    };
    popupWrapper: {
        type: PropType<string | HTMLElement | null>;
        default: string;
    };
    unmountOnHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    transition: {
        type: StringConstructor;
    };
    hourStep: {
        type: NumberConstructor;
        default: number;
    };
    minuteStep: {
        type: NumberConstructor;
        default: number;
    };
    secondStep: {
        type: NumberConstructor;
        default: number;
    };
    disabledHours: {
        type: PropType<DisabledHoursFn>;
        default: undefined;
    };
    disabledMinutes: {
        type: PropType<DisabledMinutesFn>;
        default: undefined;
    };
    disabledSeconds: {
        type: PropType<DisabledSecondsFn>;
        default: undefined;
    };
    minTime: {
        type: StringConstructor;
        default: undefined;
    };
    maxTime: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * @zh-CN 提示文本-开始
     * @en-US Start prompt text.
     */
    placeholderStart: {
        type: StringConstructor;
    };
    /**
     * @zh-CN 提示文本-结束
     * @en-US End prompt text.
     */
    placeholderEnd: {
        type: StringConstructor;
    };
};
export type TimeRangePickerPropsT = ExtractPropTypes<typeof timeRangePickerProps>;
/**
 * @zh-CN 时间选择器列选项数据结构
 * @en-US Time picker column option data structure
 */
export interface DatePickerColumnOption {
    label: string;
    value: number;
}
/**
 * @zh-CN 时间选择器快捷选项 slot 的 props
 * @en-US Time picker shortcut slot props
 */
export type TimePickerShortcutSlotProps = {
    setValue: (value?: string) => void;
    emitChange: () => void;
};
/**
 * @zh-CN 时间范围选择器快捷选项 slot 的 props
 * @en-US Time range picker shortcut slot props
 */
export type TimePickerRangeShortcutSlotProps = {
    setValue: (start?: string, end?: string) => void;
    emitChange: () => void;
};
/**
 * @zh-CN 时间范围值，包含开始时间和结束时间
 * @en-US Time range value, containing start and end time
 */
export type TimeRangeValue = {
    start: string | undefined;
    end: string | undefined;
};
/** dayjs 解析时间字符串所需的日期前缀，使 HH:mm 和 HH:mm:ss 格式均可被正确比较 */
export declare const TIME_PREFIX = "1970-01-01 ";
