import { type ReactNode, type RefObject, type SyntheticEvent } from 'react'; import { type TextFieldProps } from '../TextField'; import { type CloseEventReason } from '../types'; import { type DateMask } from '../utils/date'; import { type MondayFirst } from './DayPicker'; import { type MinMaxDate, type WithDoubleNavigationButtons } from './types'; export type DatePickerProps = MondayFirst & WithDoubleNavigationButtons & Partial & { /** * Маска для инпута даты * @default 'DD.MM.YYYY' */ mask?: DateMask; /** * Обработчик изменения состояния. Передает только Date object, если дата невалидна, то будет Invalid date */ onChange?: (date?: Date | null) => void; onBlur?: () => void; onOpen?: () => void; onClose?: (event?: SyntheticEvent | Event, reason?: CloseEventReason) => void; inputProps?: Omit; inputRef?: RefObject; /** * Блокирует взаимодействие с элементом */ disabled?: boolean; /** * Принимает только Date object, включая невалидную дату Invalid date */ value?: Date | null; /** * Название класса, применяется к корневому компоненту */ className?: string; /** * Определяет размер компонента * @default 'medium' */ size?: 'small' | 'medium'; /** * Название текстового поля */ label?: ReactNode; /** * Лейбл будет помечен как обязательный */ required?: boolean; /** * Вспомогательный текст под полем ввода */ helperText?: ReactNode; /** * Элемент в начале инпута */ startAdornment?: ReactNode; } & Pick; export declare const DatePicker: import("react").ForwardRefExoticComponent & { /** * Маска для инпута даты * @default 'DD.MM.YYYY' */ mask?: string | undefined; /** * Обработчик изменения состояния. Передает только Date object, если дата невалидна, то будет Invalid date */ onChange?: ((date?: Date | null) => void) | undefined; onBlur?: (() => void) | undefined; onOpen?: (() => void) | undefined; onClose?: ((event?: SyntheticEvent | Event, reason?: CloseEventReason) => void) | undefined; inputProps?: Omit | undefined; inputRef?: RefObject | undefined; /** * Блокирует взаимодействие с элементом */ disabled?: boolean | undefined; /** * Принимает только Date object, включая невалидную дату Invalid date */ value?: Date | null | undefined; /** * Название класса, применяется к корневому компоненту */ className?: string | undefined; /** * Определяет размер компонента * @default 'medium' */ size?: "small" | "medium" | undefined; /** * Название текстового поля */ label?: ReactNode; /** * Лейбл будет помечен как обязательный */ required?: boolean | undefined; /** * Вспомогательный текст под полем ввода */ helperText?: ReactNode; /** * Элемент в начале инпута */ startAdornment?: ReactNode; } & Pick & import("react").RefAttributes>;