import { PropType } from 'vue';
import { add } from 'date-fns/fp';
declare type relativeOptionType = {
    key: string;
    label: string;
    datePart: string;
    action: typeof add;
};
declare const _default: import("vue").DefineComponent<{
    modelValue: {
        type: PropType<Date | null>;
        default: null;
    };
    minDate: {
        type: PropType<string | Date | null>;
        default: null;
    };
    maxDate: {
        type: PropType<string | Date | null>;
        default: null;
    };
    relativeDateParts: {
        type: PropType<string[]>;
        default: () => string[];
    };
}, unknown, {
    calculatedDate: Date;
    selectedRelative: relativeOptionType | null;
    selectedDuration: number;
    configOptions: {
        labelKey: string;
        valueKey: string;
    };
}, {
    selectDateButtonDisabled(): boolean;
    isDateValid(): boolean;
    relativeOptions(): relativeOptionType[];
}, {
    calculateDate(): void;
    onOptionSelect(val: relativeOptionType): void;
    selectDate(): void;
}, import("vue").DefineComponent<{
    prefixIconColor: {
        type: PropType<import("../VcInput/VcInput.types").VcInputColor>;
        default: string;
    };
    color: {
        type: PropType<import("../VcInput/VcInput.types").VcInputColor>;
        default: string;
    };
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    prefixIconColor: {
        type: PropType<import("../VcInput/VcInput.types").VcInputColor>;
        default: string;
    };
    color: {
        type: PropType<import("../VcInput/VcInput.types").VcInputColor>;
        default: string;
    };
}>>, {
    prefixIconColor: import("../VcInput/VcInput.types").VcInputColor;
    color: import("../VcInput/VcInput.types").VcInputColor;
}>, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: PropType<Date | null>;
        default: null;
    };
    minDate: {
        type: PropType<string | Date | null>;
        default: null;
    };
    maxDate: {
        type: PropType<string | Date | null>;
        default: null;
    };
    relativeDateParts: {
        type: PropType<string[]>;
        default: () => string[];
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
    modelValue: Date | null;
    minDate: string | Date | null;
    maxDate: string | Date | null;
    relativeDateParts: string[];
}>;
export default _default;
