import * as React from 'react';
import type { HTMLAttributesWithRootRef } from '../../types';
type ArrowMonthProps = Omit<React.AllHTMLAttributes<HTMLElement>, 'onClick' | 'aria-label'>;
export type CalendarHeaderTestsProps = {
    /**
     * Передает атрибут `data-testid` для дропдауна выбора месяца в заголовке календаря.
     */
    monthDropdownTestId?: string | ((monthIndex: number) => string);
    /**
     * Передает атрибут `data-testid` для дропдауна выбора года в заголовке календаря.
     */
    yearDropdownTestId?: string | ((year: number) => string);
    /**
     * Передает атрибут `data-testid` для кнопки перехода к следующему месяцу в заголовке календаря.
     */
    nextMonthButtonTestId?: string;
    /**
     * Передает атрибут `data-testid` для кнопки перехода к предыдущему месяцу в заголовке календаря.
     */
    prevMonthButtonTestId?: string;
};
export interface CalendarHeaderProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'>, CalendarHeaderTestsProps {
    /**
     * Отображаемая дата.
     */
    viewDate: Date;
    /**
     * Скрывает иконку для переключения на предыдущий месяц.
     */
    prevMonthHidden?: boolean;
    /**
     * Скрывает иконку для переключения на следующий месяц.
     */
    nextMonthHidden?: boolean;
    /**
     * Отключает селекторы выбора месяца/года.
     */
    disablePickers?: boolean;
    /**
     * `aria-label` для кнопки предыдущего месяца.
     */
    prevMonthLabel?: string;
    /**
     * `aria-label` для кнопки следующего месяца.
     */
    nextMonthLabel?: string;
    /**
     * `aria-label` для селектора месяца.
     */
    changeMonthLabel?: string;
    /**
     * `aria-label` для селектора года.
     */
    changeYearLabel?: string;
    /**
     * Кастомная иконка для кнопки предыдущего месяца.
     */
    prevMonthIcon?: React.ReactNode;
    /**
     * Кастомная иконка для кнопки следующего месяца.
     */
    nextMonthIcon?: React.ReactNode;
    /**
     * Дополнительные свойства для кнопки предыдущего месяца.
     */
    prevMonthProps?: ArrowMonthProps;
    /**
     * Дополнительные свойства для кнопки следующего месяца.
     */
    nextMonthProps?: ArrowMonthProps;
    /**
     * Функция для проверки блокировки месяца.
     */
    isMonthDisabled?: (monthNumber: number, year?: number) => boolean;
    /**
     * Функция для проверки блокировки года.
     */
    isYearDisabled?: (yearNumber: number) => boolean;
    /**
     * Обработчик изменения отображаемой даты.
     */
    onChange: (viewDate: Date) => void;
    /**
     * Нажатие на кнопку переключения на следующий месяц.
     */
    onNextMonth?: () => void;
    /**
     * Нажатие на кнопку переключения на предыдущий месяц.
     */
    onPrevMonth?: () => void;
}
export declare const CalendarHeader: ({ viewDate, onChange, prevMonthHidden: prevMonthHiddenProp, nextMonthHidden: nextMonthHiddenProp, disablePickers, onNextMonth, onPrevMonth, prevMonthProps, nextMonthProps, prevMonthLabel, nextMonthLabel, changeMonthLabel, changeYearLabel, prevMonthIcon, nextMonthIcon, isMonthDisabled, isYearDisabled, monthDropdownTestId, yearDropdownTestId, prevMonthButtonTestId, nextMonthButtonTestId, ...restProps }: CalendarHeaderProps) => React.ReactNode;
export {};
//# sourceMappingURL=CalendarHeader.d.ts.map