import type { DateTime } from '@gravity-ui/date-utils'; import type { Value } from "../../RelativeDatePicker/index.js"; import type { RangeValue } from "../../types/index.js"; export type RelativeRangeDatePickerValue = RangeValue; export interface RelativeRangeDatePickerState { value: RelativeRangeDatePickerValue | null; timeZone: string; setValue: (value: RelativeRangeDatePickerValue | null, timeZone: string) => void; isInvalid: boolean; errors: string[]; } export interface RelativeRangeDatePickerStateOptions { value?: RelativeRangeDatePickerValue | null; defaultValue?: RelativeRangeDatePickerValue; onUpdate?: (value: RelativeRangeDatePickerValue | null, timeZone: string) => void; timeZone?: string; defaultTimeZone?: string; onUpdateTimeZone?: (timeZone: string) => void; /** The minimum allowed date that a user may select. */ minValue?: DateTime; /** The maximum allowed date that a user may select. */ maxValue?: DateTime; /** Callback that is called for each date of the calendar. If it returns true, then the date is unavailable. */ isDateUnavailable?: (date: DateTime, endpoint: 'start' | 'end') => boolean; allowNullableValues?: boolean; } export declare function useRelativeRangeDatePickerState(props: RelativeRangeDatePickerStateOptions): RelativeRangeDatePickerState;