import { PropType } from 'vue';
import { default as Time } from '../../helpers/Time';
import { ConfigInterface } from '../../typings/config.interface';
import { PeriodInterface } from '../../typings/interfaces/period.interface';
import { ModeType } from '../../typings/types';
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    config: {
        type: PropType<ConfigInterface>;
        default: () => {};
    };
    mode: {
        type: PropType<ModeType>;
        default: string;
    };
    time: {
        type: PropType<Time>;
        default: () => {};
    };
    period: {
        type: PropType<PeriodInterface>;
        required: true;
    };
    isSmall: {
        type: BooleanConstructor;
        required: true;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    changeMode: (mode: ModeType) => any;
    updatedPeriod: (value: PeriodInterface) => any;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    config: {
        type: PropType<ConfigInterface>;
        default: () => {};
    };
    mode: {
        type: PropType<ModeType>;
        default: string;
    };
    time: {
        type: PropType<Time>;
        default: () => {};
    };
    period: {
        type: PropType<PeriodInterface>;
        required: true;
    };
    isSmall: {
        type: BooleanConstructor;
        required: true;
    };
}>> & Readonly<{
    onChangeMode?: ((mode: ModeType) => any) | undefined;
    onUpdatedPeriod?: ((value: PeriodInterface) => any) | undefined;
}>, {
    time: Time;
    mode: ModeType;
    config: ConfigInterface;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
    periodSelect: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
        modelValue: string | Date;
    } & {
        required?: boolean;
        label?: string;
        editMode?: boolean;
        small?: boolean;
        enableTime?: boolean;
        modelValue?: string | Date;
        min?: string | Date;
        max?: string | Date;
        mode?: ModeType;
        defaultValue?: string | Date;
        firstDayOfWeek?: import('../../helpers/Time').WEEK_START_DAY;
        locale?: string;
        center?: boolean;
    }> & Readonly<{
        "onUpdate:modelValue"?: ((value: string | Date) => any) | undefined;
    }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        "update:modelValue": (value: string | Date) => any;
    }, import('vue').PublicProps, {
        small: boolean;
        mode: ModeType;
        editMode: boolean;
        enableTime: boolean;
        firstDayOfWeek: import('../../helpers/Time').WEEK_START_DAY;
        locale: string;
    }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
        datePickerRef: HTMLDivElement;
        calendarRef: HTMLDivElement;
    }, HTMLDivElement, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<{
        modelValue: string | Date;
    } & {
        required?: boolean;
        label?: string;
        editMode?: boolean;
        small?: boolean;
        enableTime?: boolean;
        modelValue?: string | Date;
        min?: string | Date;
        max?: string | Date;
        mode?: ModeType;
        defaultValue?: string | Date;
        firstDayOfWeek?: import('../../helpers/Time').WEEK_START_DAY;
        locale?: string;
        center?: boolean;
    }> & Readonly<{
        "onUpdate:modelValue"?: ((value: string | Date) => any) | undefined;
    }>, {}, {}, {}, {}, {
        small: boolean;
        mode: ModeType;
        editMode: boolean;
        enableTime: boolean;
        firstDayOfWeek: import('../../helpers/Time').WEEK_START_DAY;
        locale: string;
    }> | null;
}, HTMLDivElement>;
export default _default;
//# sourceMappingURL=Header.vue.d.ts.map