/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { LocalizationService } from '@progress/kendo-vue-intl';
import { CalendarHeaderTitleProps } from './CalendarHeaderTitle';
import { BusViewService } from '../services/main';
import { ViewService, Action } from '../models/main';
import { PropType } from 'vue';
/**
 * @hidden
 */
export interface HeaderEventArguments {
    event?: any;
    value: Date;
    target: any;
}
/**
 * @hidden
 */
export interface HeaderProps {
    activeView: number;
    bus: BusViewService;
    currentDate: Date;
    focusedDate: Date;
    max: Date;
    min: Date;
    rangeLength: number;
    service: ViewService;
    headerTitle?: CalendarHeaderTitleProps;
    tabIndex: number;
}
/**
 * @hidden
 */
export interface HeaderMethods {
    [key: string]: any;
    getTitle: () => string;
    handleTitleClick: (event: any) => void;
    handleTodayClick: (event: any) => void;
    todayKeyDown: (event: any) => void;
    handleNextClick: (event: any) => void;
    handlePrevClick: (event: any) => void;
    clampDate: (value: Date) => Date;
    move: (action: Action) => Date;
    canNavigate: (action: Action) => boolean;
}
/**
 * @hidden
 */
export interface HeaderComputed {
    [key: string]: any;
    navigate?: () => void;
    todayIsInRange?: () => boolean;
}
/**
 * @hidden
 */
export interface HeaderState {
    _localization: LocalizationService;
}
/**
 * @hidden
 */
declare const Header: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    activeView: {
        type: PropType<number>;
        required: true;
    };
    currentDate: {
        type: PropType<Date>;
        required: true;
    };
    focusedDate: {
        type: PropType<Date>;
        required: true;
    };
    headerTitle: {
        type: PropType<CalendarHeaderTitleProps>;
        default: () => any;
    };
    max: {
        type: PropType<Date>;
        default: () => Date;
    };
    min: {
        type: PropType<Date>;
        default: () => Date;
    };
    bus: PropType<BusViewService>;
    service: PropType<ViewService>;
    rangeLength: {
        type: PropType<number>;
        default: number;
    };
    tabIndex: {
        type: PropType<number>;
        default: number;
    };
    onTodayClick: PropType<(event: any) => void>;
    onNextClick: PropType<(event: any) => void>;
    onPrevClick: PropType<(event: any) => void>;
    onTitleClick: PropType<(event: any) => void>;
}>, {
    kendoLocalizationService: {};
}, {
    currentRtl: boolean;
}, {
    navigate(): HeaderComputed['navigate'];
    todayIsInRange(): boolean;
}, {
    getTitle(): string;
    handleTitleClick(event: any): void;
    canNavigate(action: Action): boolean;
    move(action: Action): Date;
    clampDate(value: Date): Date;
    handleNextClick(event: any): void;
    handlePrevClick(event: any): void;
    handleTodayClick(event: any): void;
    todayKeyDown(event: any): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("titleclick" | "todayclick" | "nextclick" | "prevclick")[], "titleclick" | "todayclick" | "nextclick" | "prevclick", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    activeView: {
        type: PropType<number>;
        required: true;
    };
    currentDate: {
        type: PropType<Date>;
        required: true;
    };
    focusedDate: {
        type: PropType<Date>;
        required: true;
    };
    headerTitle: {
        type: PropType<CalendarHeaderTitleProps>;
        default: () => any;
    };
    max: {
        type: PropType<Date>;
        default: () => Date;
    };
    min: {
        type: PropType<Date>;
        default: () => Date;
    };
    bus: PropType<BusViewService>;
    service: PropType<ViewService>;
    rangeLength: {
        type: PropType<number>;
        default: number;
    };
    tabIndex: {
        type: PropType<number>;
        default: number;
    };
    onTodayClick: PropType<(event: any) => void>;
    onNextClick: PropType<(event: any) => void>;
    onPrevClick: PropType<(event: any) => void>;
    onTitleClick: PropType<(event: any) => void>;
}>> & Readonly<{
    onTitleclick?: (...args: any[]) => any;
    onTodayclick?: (...args: any[]) => any;
    onNextclick?: (...args: any[]) => any;
    onPrevclick?: (...args: any[]) => any;
}>, {
    tabIndex: number;
    max: Date;
    min: Date;
    headerTitle: CalendarHeaderTitleProps;
    rangeLength: number;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { Header };
