import * as React from 'react';
import type { HTMLAttributesWithRootRef } from '../../types';
import { type CalendarDaysProps, type CalendarDaysTestsProps } from '../CalendarDays/CalendarDays';
import { type CalendarHeaderProps, type CalendarHeaderTestsProps } from '../CalendarHeader/CalendarHeader';
import type { DateRangeType } from './types';
export type { DateRangeType };
export type CalendarRangeTestsProps = CalendarDaysTestsProps & {
/**
* Передает атрибуты `data-testid` для интерактивных элементов в заголовке календаря в левой части.
*/
leftPartHeaderTestsData?: CalendarHeaderTestsProps;
/**
* Передает атрибуты `data-testid` для интерактивных элементов в заголовке календаря в правой части.
*/
rightPartHeaderTestsData?: CalendarHeaderTestsProps;
};
export interface CalendarRangeProps extends Omit, 'onChange' | 'defaultValue'>, Pick, Pick, CalendarRangeTestsProps {
/**
* Текущий выбранный промежуток.
*/
value?: DateRangeType | null;
/**
* Начальный промежуток при монтировании.
*/
defaultValue?: DateRangeType | null;
/**
* Запрещает выбор даты в прошлом.
* Применяется, если не заданы `shouldDisableDate` и `disableFuture`.
*/
disablePast?: boolean;
/**
* Запрещает выбор даты в будущем.
* Применяется, если не задано `shouldDisableDate`.
*/
disableFuture?: boolean;
/**
* Отключает селекторы выбора месяца/года.
*/
disablePickers?: boolean;
/**
* `aria-label` для изменения дня.
*
* @deprecated Since 7.4.0.
*
* Будет удалeно в **VKUI v8**. Использовалось для задания aria-label для контейнера дней в календаре.
* Теперь этот контейнер является таблицей (с помощью role="grid") и
* в aria-label рендерится текущий открытый в календаре месяц и год.
*/
changeDayLabel?: string;
/**
* День недели, с которого начинается неделя.
*/
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
/**
* Обработчик изменения выбранного промежутка.
*/
onChange?: (value: DateRangeType | undefined) => void;
/**
* Функция для проверки запрета выбора даты.
*/
shouldDisableDate?: (value: Date) => boolean;
/**
* @deprecated Свойство не используется.
*/
onClose?: () => void;
}
/**
* @see https://vkui.io/components/calendar-range
*/
export declare const CalendarRange: ({ "value": valueProp, defaultValue, onChange, disablePast, disableFuture, shouldDisableDate, weekStartsOn, disablePickers, prevMonthLabel, nextMonthLabel, changeMonthLabel, changeYearLabel, "aria-label": ariaLabel, prevMonthIcon, nextMonthIcon, listenDayChangesForUpdate, renderDayContent, dayTestId, leftPartHeaderTestsData, rightPartHeaderTestsData, getRootRef, ...props }: CalendarRangeProps) => React.ReactNode;
//# sourceMappingURL=CalendarRange.d.ts.map