import { TCalendarView } from './composable';
import { TDatetimeValueRange } from '../../composable';
import { IRawDate } from '../../utils';
export declare const componentName = "CdsDatePicker";
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    theme: {
        type: import('vue').PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    locale: {
        type: import('vue').PropType<import('../../locale').TAvailableLocale | import('../../locale').ILocale>;
        default: undefined;
    };
    readonly: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    disabled: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    modelValue: {
        type: import('vue').PropType<string | TDatetimeValueRange | Array<string | TDatetimeValueRange>>;
        default: null;
    };
    mask: {
        type: import('vue').PropType<string>;
        default: string;
    };
    title: {
        type: import('vue').PropType<string>;
        default: undefined;
    };
    description: {
        type: import('vue').PropType<string>;
        default: undefined;
    };
    header: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    todayBtn: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    defaultYearMonth: {
        type: import('vue').PropType<string>;
        default: undefined;
        validator: (value: string) => boolean;
    };
    view: {
        type: import('vue').PropType<TCalendarView>;
        default: string;
        validator: (value: TCalendarView) => boolean;
    };
    multiple: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    range: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    firstDayOfWeek: {
        type: import('vue').PropType<string | number>;
        default: number;
    };
    allowedDates: {
        type: import('vue').PropType<import('./composable').TCalendarAllowedDates>;
    };
    minYearMonth: {
        type: import('vue').PropType<string>;
        default: undefined;
        validator: (value: string) => boolean;
    };
    maxYearMonth: {
        type: import('vue').PropType<string>;
        default: undefined;
        validator: (value: string) => boolean;
    };
    noUnset: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    events: {
        type: import('vue').PropType<import('./composable').TCalendarEvents>;
    };
    eventsColor: {
        type: import('vue').PropType<import('./composable').TCalendarEventsColor>;
        default: string;
    };
    emitImmediately: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    hideSiblingMonth: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    /**
     * Событие при изменении значения (v-model)
     * @type { value: string | TDatetimeValueRange | Array<string | TDatetimeValueRange>, reason: string, details: IRawDate }
     */
    'update:modelValue': (...args: any) => true;
    /**
     * Событие при переходе к другому месяцу или году (при изменении модели из вне также будет срабатывать)
     */
    navigation: ({ year, month }: {
        year: number | undefined;
        month: number | undefined;
    }) => true;
    /**
     * Событие начала выбора диапазона дат
     */
    rangeStart: (value: Partial<IRawDate>) => true;
    /**
     * Событие окончания выбора диапазона дат
     */
    rangeEnd: ({ from, to }: {
        from: Partial<IRawDate>;
        to: Partial<IRawDate>;
    }) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    theme: {
        type: import('vue').PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    locale: {
        type: import('vue').PropType<import('../../locale').TAvailableLocale | import('../../locale').ILocale>;
        default: undefined;
    };
    readonly: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    disabled: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    modelValue: {
        type: import('vue').PropType<string | TDatetimeValueRange | Array<string | TDatetimeValueRange>>;
        default: null;
    };
    mask: {
        type: import('vue').PropType<string>;
        default: string;
    };
    title: {
        type: import('vue').PropType<string>;
        default: undefined;
    };
    description: {
        type: import('vue').PropType<string>;
        default: undefined;
    };
    header: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    todayBtn: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    defaultYearMonth: {
        type: import('vue').PropType<string>;
        default: undefined;
        validator: (value: string) => boolean;
    };
    view: {
        type: import('vue').PropType<TCalendarView>;
        default: string;
        validator: (value: TCalendarView) => boolean;
    };
    multiple: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    range: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    firstDayOfWeek: {
        type: import('vue').PropType<string | number>;
        default: number;
    };
    allowedDates: {
        type: import('vue').PropType<import('./composable').TCalendarAllowedDates>;
    };
    minYearMonth: {
        type: import('vue').PropType<string>;
        default: undefined;
        validator: (value: string) => boolean;
    };
    maxYearMonth: {
        type: import('vue').PropType<string>;
        default: undefined;
        validator: (value: string) => boolean;
    };
    noUnset: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    events: {
        type: import('vue').PropType<import('./composable').TCalendarEvents>;
    };
    eventsColor: {
        type: import('vue').PropType<import('./composable').TCalendarEventsColor>;
        default: string;
    };
    emitImmediately: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    hideSiblingMonth: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onNavigation?: ((args_0: {
        year: number | undefined;
        month: number | undefined;
    }) => any) | undefined;
    onRangeStart?: ((value: Partial<IRawDate>) => any) | undefined;
    onRangeEnd?: ((args_0: {
        from: Partial<IRawDate>;
        to: Partial<IRawDate>;
    }) => any) | undefined;
}>, {
    title: string;
    disabled: boolean;
    readonly: boolean;
    description: string;
    multiple: boolean;
    modelValue: string | TDatetimeValueRange | (string | TDatetimeValueRange)[];
    header: boolean;
    theme: string;
    mask: string;
    view: "Calendar" | "Years" | "Months";
    range: boolean;
    locale: import('../../locale').ILocale | "ru" | "en";
    firstDayOfWeek: string | number;
    todayBtn: boolean;
    defaultYearMonth: string;
    minYearMonth: string;
    maxYearMonth: string;
    noUnset: boolean;
    eventsColor: import('./composable').TCalendarEventsColor;
    emitImmediately: boolean;
    hideSiblingMonth: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
