import { PropType } from 'vue';
import { LocaleConfig } from '@vexip-ui/config';
import { DateTimeType, DateType } from './symbol';
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    unitType: {
        type: PropType<DateTimeType | "">;
        default: string;
    };
    enabled: {
        type: PropType<Record<DateTimeType, boolean>>;
        default: () => {};
    };
    activated: {
        type: PropType<Record<DateTimeType, boolean>>;
        default: () => {};
    };
    dateValue: {
        type: PropType<Record<DateTimeType, number>>;
        default: () => {};
    };
    dateSeparator: {
        type: StringConstructor;
        default: string;
    };
    timeSeparator: {
        type: StringConstructor;
        default: string;
    };
    visible: {
        type: BooleanConstructor;
        default: boolean;
    };
    focused: {
        type: BooleanConstructor;
        default: boolean;
    };
    filler: {
        type: StringConstructor;
        default: string;
        validator: (value: string) => boolean;
    };
    steps: {
        type: PropType<number[]>;
        default: () => number[];
    };
    ctrlSteps: {
        type: PropType<number[]>;
        default: () => number[];
    };
    labels: {
        type: PropType<Partial<Record<DateTimeType, string>>>;
        default: () => {};
    };
    hasError: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    labeledBy: {
        type: StringConstructor;
        default: undefined;
    };
    locale: {
        type: PropType<LocaleConfig["calendar"] & LocaleConfig["datePicker"]>;
        default: () => {};
    };
    dateUnitOrder: {
        type: PropType<DateType[]>;
        default: () => string[];
    };
}>, {
    isActivated: import('vue').ComputedRef<boolean>;
    wrapper: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
    focus: () => void;
    blur: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    input: (...args: any[]) => void;
    plus: (...args: any[]) => void;
    minus: (...args: any[]) => void;
    blur: (...args: any[]) => void;
    cancel: (...args: any[]) => void;
    enter: (...args: any[]) => void;
    "unit-focus": (...args: any[]) => void;
    "prev-unit": (...args: any[]) => void;
    "next-unit": (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    unitType: {
        type: PropType<DateTimeType | "">;
        default: string;
    };
    enabled: {
        type: PropType<Record<DateTimeType, boolean>>;
        default: () => {};
    };
    activated: {
        type: PropType<Record<DateTimeType, boolean>>;
        default: () => {};
    };
    dateValue: {
        type: PropType<Record<DateTimeType, number>>;
        default: () => {};
    };
    dateSeparator: {
        type: StringConstructor;
        default: string;
    };
    timeSeparator: {
        type: StringConstructor;
        default: string;
    };
    visible: {
        type: BooleanConstructor;
        default: boolean;
    };
    focused: {
        type: BooleanConstructor;
        default: boolean;
    };
    filler: {
        type: StringConstructor;
        default: string;
        validator: (value: string) => boolean;
    };
    steps: {
        type: PropType<number[]>;
        default: () => number[];
    };
    ctrlSteps: {
        type: PropType<number[]>;
        default: () => number[];
    };
    labels: {
        type: PropType<Partial<Record<DateTimeType, string>>>;
        default: () => {};
    };
    hasError: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    labeledBy: {
        type: StringConstructor;
        default: undefined;
    };
    locale: {
        type: PropType<LocaleConfig["calendar"] & LocaleConfig["datePicker"]>;
        default: () => {};
    };
    dateUnitOrder: {
        type: PropType<DateType[]>;
        default: () => string[];
    };
}>> & Readonly<{
    onInput?: ((...args: any[]) => any) | undefined;
    onPlus?: ((...args: any[]) => any) | undefined;
    onMinus?: ((...args: any[]) => any) | undefined;
    onBlur?: ((...args: any[]) => any) | undefined;
    onCancel?: ((...args: any[]) => any) | undefined;
    onEnter?: ((...args: any[]) => any) | undefined;
    "onUnit-focus"?: ((...args: any[]) => any) | undefined;
    "onPrev-unit"?: ((...args: any[]) => any) | undefined;
    "onNext-unit"?: ((...args: any[]) => any) | undefined;
}>, {
    locale: {
        year: string;
        month: string;
        month1: string;
        month2: string;
        month3: string;
        month4: string;
        month5: string;
        month6: string;
        month7: string;
        month8: string;
        month9: string;
        month10: string;
        month11: string;
        month12: string;
        week1: string;
        week2: string;
        week3: string;
        week4: string;
        week5: string;
        week6: string;
        week7: string;
        ariaLabel: {
            year: string;
            month: string;
            month1: string;
            month2: string;
            month3: string;
            month4: string;
            month5: string;
            month6: string;
            month7: string;
            month8: string;
            month9: string;
            month10: string;
            month11: string;
            month12: string;
            week1: string;
            week2: string;
            week3: string;
            week4: string;
            week5: string;
            week6: string;
            week7: string;
        };
    } & {
        confirm: string;
        cancel: string;
        placeholder: {
            year: string;
            month: string;
            date: string;
            datetime: string;
            start: string;
            end: string;
            select: string;
        };
        startTime: string;
        endTime: string;
        ariaLabel: {
            clear: string;
            quarter: string;
            week: string;
            date: string;
            hour: string;
            minute: string;
            second: string;
        };
    };
    visible: boolean;
    placeholder: string;
    readonly: boolean;
    focused: boolean;
    activated: Record<DateTimeType, boolean>;
    enabled: Record<DateTimeType, boolean>;
    filler: string;
    labeledBy: string;
    unitType: "" | DateTimeType;
    dateValue: Record<DateTimeType, number>;
    dateSeparator: string;
    timeSeparator: string;
    steps: number[];
    ctrlSteps: number[];
    labels: Partial<Record<DateTimeType, string>>;
    hasError: boolean;
    dateUnitOrder: DateType[];
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
    wrapper: HTMLDivElement;
}, HTMLDivElement>;
export default _default;
