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