import { NonEmptyDateRange, DateRange } from '../../DateRangePicker/RangeTypes'; import { ParseableDate } from './constants/prop-types'; import { MuiPickersAdapter } from './hooks/useUtils'; interface FindClosestDateParams { date: TDate; disableFuture: boolean; disablePast: boolean; maxDate: TDate; minDate: TDate; shouldDisableDate: (date: TDate) => boolean; utils: MuiPickersAdapter; } export declare const findClosestEnabledDate: ({ date, disableFuture, disablePast, maxDate, minDate, shouldDisableDate, utils, }: FindClosestDateParams) => TDate; export declare function parsePickerInputValue(utils: MuiPickersAdapter, value: unknown): unknown; export declare type RangeInput = import('../../DateRangePicker/RangeTypes').RangeInput; export declare function parseRangeInputValue(utils: MuiPickersAdapter, value?: RangeInput): DateRange; export declare const isRangeValid: (utils: MuiPickersAdapter, range: DateRange | null) => range is NonEmptyDateRange; export declare const isWithinRange: (utils: MuiPickersAdapter, day: TDate, range: DateRange | null) => boolean; export declare const isStartOfRange: (utils: MuiPickersAdapter, day: TDate, range: DateRange | null) => boolean; export declare const isEndOfRange: (utils: MuiPickersAdapter, day: TDate, range: DateRange | null) => boolean; export interface DateValidationProps { /** * Disable past dates. * @default false */ disablePast?: boolean; /** * Disable future dates. * @default false */ disableFuture?: boolean; /** * Min selectable date. @DateIOType * @default Date(1900-01-01) */ minDate?: TDate; /** * Max selectable date. @DateIOType * @default Date(2099-31-12) */ maxDate?: TDate; /** * Disable specific date. @DateIOType */ shouldDisableDate?: (day: TDate) => boolean; } export declare const validateDate: (utils: MuiPickersAdapter, value: ParseableDate, { disablePast, disableFuture, minDate, maxDate, shouldDisableDate }: DateValidationProps) => "invalidDate" | "shouldDisableDate" | "disableFuture" | "disablePast" | "minDate" | "maxDate" | null; export declare type DateValidationError = ReturnType; declare type DateRangeValidationErrorValue = DateValidationError | 'invalidRange' | null; export declare const validateDateRange: (utils: MuiPickersAdapter, value: RangeInput, dateValidationProps: DateValidationProps) => [DateRangeValidationErrorValue, DateRangeValidationErrorValue]; export declare type DateRangeValidationError = ReturnType; export {};