import { ElementProps, InputWidth } from "../../../types/shared.mjs"; import { Component } from "../../../internal/factory/factory.mjs"; import { LabelProps } from "../../core/label/Label.mjs"; import { BaseFormElementProps } from "../../core/form-group/FormGroup.mjs"; import { ChangeEvent } from "react"; //#region src/components/form-elements/date-input/DateInput.d.ts type DateInputPart = 'day' | 'month' | 'year'; type DateInputValue = { day: string; month: string; year: string; }; type DateInputChangeEvent = ChangeEvent & { target: HTMLInputElement & { value: DateInputValue; }; currentTarget: HTMLInputElement & { value: DateInputValue; }; }; type DateInputProps = { value?: DateInputValue; error?: string | Record; onChange?: (event: DateInputChangeEvent) => void; disabled?: boolean; namePrefix?: string; } & Omit & ElementProps<'div', 'onChange'>; declare const DateInput: Component<{ props: DateInputProps; ref: HTMLDivElement; staticComponents: { Day: typeof DateInputDay; Month: typeof DateInputMonth; Year: typeof DateInputYear; }; }>; type DatePart = 'day' | 'month' | 'year'; type DateInputPartProps = { label?: string; labelProps?: LabelProps; itemProps?: ElementProps<'div'>; error?: boolean; part: DatePart; width?: InputWidth; } & ElementProps<'input', 'defaultValue' | 'type'>; declare const DateInputDay: Component<{ props: Omit; ref: HTMLInputElement; }>; declare const DateInputMonth: Component<{ props: Omit; ref: HTMLInputElement; }>; declare const DateInputYear: Component<{ props: Omit; ref: HTMLInputElement; }>; //#endregion export { DateInput, DateInputChangeEvent, DateInputDay, DateInputMonth, DateInputPart, DateInputPartProps, DateInputProps, DateInputValue, DateInputYear, DatePart };