/// import { Locale } from 'date-fns'; import { IconComponent, IconPropSize } from '../../icons/_Icon/Icon'; import { DateRange } from '../../utils/types/Date'; import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes'; import { CalendarAdditionalControlRenderProp, CalendarPropView } from '../Calendar/helpers'; import { TextFieldPropForm, TextFieldPropSize, TextFieldPropStatus, TextFieldPropView, TextFieldPropWidth } from '../TextField/TextField'; import { DirectionsStartEdge } from "../Popover/Popover"; export declare const datePickerPropType: readonly ["date", "date-range", "date-time"]; export declare type DatePickerPropType = typeof datePickerPropType[number]; export declare const datePickerPropTypeDefault: "date"; export declare const showPickerPropType: readonly ["date", "month", "year"]; export declare type ShowPickerPropType = typeof showPickerPropType[number]; export declare const showPickerPropTypeDefault: "date"; export declare type DatePickerPropCalendarView = CalendarPropView; export declare const datePickerErrorTypes: readonly ["outOfRange", "invalidInputAttempt", "startDateIsGreaterThanEndDate"]; export declare type DatePickerPropValue = (TYPE extends 'date' | 'date-time' ? Date : DateRange) | null; export declare type DatePickerPropOnChange = (props: { value: DatePickerPropValue; e: React.MouseEvent | Event; }) => void; export declare const datePickerPropDropdownForm: readonly ["default", "brick", "round"]; export declare type DatePickerPropDropdownForm = typeof datePickerPropDropdownForm[number]; export declare const datePickerPropDropdownFormDefault: "default"; declare type DatePickerPropCalendarWidth = TYPE extends 'date' | 'date-time' ? TextFieldPropWidth : never; declare type DatePickerPropCalendarInputRef = TYPE extends 'date' | 'date-time' ? React.Ref : never; declare type DatePickerPropCalendarStartInputRef = TYPE extends 'date-range' ? React.Ref : never; declare type DatePickerPropCalendarStartLeftSide = TYPE extends 'date-range' ? string | IconComponent : never; declare type DatePickerPropCalendarStartOnFocus = TYPE extends 'date-range' ? React.FocusEventHandler : never; export declare type DatePickerProps = PropsWithHTMLAttributesAndRef<{ type?: TYPE; value?: DatePickerPropValue; onChange?: DatePickerPropOnChange; minDate?: Date; maxDate?: Date; renderAdditionalControls?: CalendarAdditionalControlRenderProp; events?: Date[]; calendarView?: DatePickerPropCalendarView; locale?: Locale; children?: never; onError?: DatePickerPropOnError; id?: string; name?: string; disabled?: boolean; size?: TextFieldPropSize; view?: TextFieldPropView; form?: TextFieldPropForm; status?: TextFieldPropStatus; onFocus?: React.FocusEventHandler; onBlur?: React.FocusEventHandler; autoFocus?: boolean; placeholder?: string; readOnly?: boolean; required?: boolean; tabIndex?: number; inputRef?: DatePickerPropCalendarInputRef; ariaLabel?: string; iconSize?: IconPropSize; formatMask?: string; separator?: string; dropdownForm?: DatePickerPropDropdownForm; width?: DatePickerPropCalendarWidth; leftSide?: string | IconComponent; rightSide?: string | IconComponent; startFieldInputRef?: DatePickerPropCalendarStartInputRef; endFieldInputRef?: DatePickerPropCalendarStartInputRef; startFieldLeftSide?: DatePickerPropCalendarStartLeftSide; startFieldRightSide?: DatePickerPropCalendarStartLeftSide; endFieldLeftSide?: DatePickerPropCalendarStartLeftSide; endFieldRightSide?: DatePickerPropCalendarStartLeftSide; startFieldOnFocus?: DatePickerPropCalendarStartOnFocus; endFieldOnFocus?: DatePickerPropCalendarStartOnFocus; startFieldOnBlur?: DatePickerPropCalendarStartOnFocus; endFieldOnBlur?: DatePickerPropCalendarStartOnFocus; label?: string; caption?: string; labelPosition?: 'top' | 'left'; onChangeCurrentVisibleDate?: (date: Date) => void; currentVisibleDate?: Date; multiplicitySeconds?: number; multiplicityMinutes?: number; multiplicityHours?: number; showPicker?: ShowPickerPropType; direction?: DirectionsStartEdge; countTextField?: 1 | 2; relative?: boolean; alwaysVisible?: boolean; }, HTMLDivElement>; export declare type DatePickerComponent = (props: DatePickerProps) => React.ReactElement | null; export declare type DatePickerTypeComponent = (props: Omit, 'type'>) => React.ReactElement | null; export declare type DatePickerPropOnError = (props: { type: typeof datePickerErrorTypes[0]; stringValue: string; dd?: string; MM?: string; yyyy?: string; ss?: string; mm?: string; HH?: string; date: Date; } | { type: typeof datePickerErrorTypes[1]; stringValue: string; dd?: string; MM?: string; yyyy?: string; ss?: string; mm?: string; HH?: string; } | { type: typeof datePickerErrorTypes[2]; date: [Date, Date]; }) => void; export declare const getDatePickerPropSeparator: (formatProp: string | undefined) => string; export declare const getDatePickerPropFormatTypeDate: (showPicker: ShowPickerPropType | undefined, formatMask: string | undefined) => string; export declare const datePickerPropSeparatorDefault = "-"; export declare const datePickerPropFormatTypeDate: string; export declare const datePickerPropFormatTypeMonth: string; export declare const datePickerPropFormatTypeYear = "yyyy"; export declare const datePickerPropFormatTypeCalendar: string; export declare const getDatePickerPropFormat: (separator: string | undefined) => string; export declare const normalizeRangeValue: (dateRange: DateRange) => DateRange; export declare const getMultiplicityTime: (format: string, multiplicityHours: number | undefined, multiplicityMinutes: number | undefined, multiplicitySeconds: number | undefined) => (number | undefined)[]; export declare const getTimeEnum: (length: number, multiplicity: number | undefined, startOfUnits: (date: Date) => Date, addUnits: (date: Date, amount: number) => Date, getItemLabel: (date: Date) => string) => string[]; export {};