import type { ExtractPropTypes, PropType } from 'vue';
import type { Dayjs } from 'dayjs';
declare const selectionModes: string[];
export declare type RangeState = {
    endDate: null | Dayjs;
    selecting: boolean;
};
export declare type DisabledDateType = (date: Date) => boolean;
export declare const datePickerSharedProps: {
    readonly disabledDate: {
        readonly type: PropType<DisabledDateType>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly date: {
        readonly type: PropType<Dayjs>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly minDate: {
        readonly type: PropType<Dayjs>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly maxDate: {
        readonly type: PropType<Dayjs>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly parsedValue: {
        readonly type: PropType<import("hongluan-ui/es/utils").EpPropMergeType<PropType<Dayjs | Dayjs[]>, unknown, unknown>>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly rangeState: import("hongluan-ui/es/utils").EpPropFinalized<PropType<RangeState>, unknown, unknown, () => {
        endDate: any;
        selecting: boolean;
    }, boolean>;
};
export declare const panelSharedProps: {
    type: {
        type: PropType<"year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange">;
        required: boolean;
    };
    dateFormat: StringConstructor;
    timeFormat: StringConstructor;
};
export declare const panelRangeSharedProps: {
    unlinkPanels: BooleanConstructor;
    parsedValue: {
        type: PropType<Dayjs[]>;
    };
};
export declare const selectionModeWithDefault: (mode: typeof selectionModes[number]) => {
    type: StringConstructor;
    values: string[];
    default: string;
};
export declare const rangePickerSharedEmits: {
    pick: (range: [Dayjs, Dayjs]) => boolean;
};
export declare type RangePickerSharedEmits = typeof rangePickerSharedEmits;
export declare type PanelRangeSharedProps = ExtractPropTypes<typeof panelRangeSharedProps>;
export {};
