import { InputHTMLAttributes } from 'react'; import { YearlessDateMode, YearlessDate } from '../types'; import { PassThroughPropsWithRef, Size } from '../../../types'; export type YearlessDateInputChange = { event: React.ChangeEvent | null; value: YearlessDate | null; isInputValid: boolean; isInputEmpty: boolean; }; export type YearlessDateInputChangeHandler = (change: YearlessDateInputChange) => void; export type YearlessDateInputProps = Omit, "onChange" | "value" | "ref" | "size"> & { onChange: YearlessDateInputChangeHandler; mode?: YearlessDateMode; value?: YearlessDate | null; error?: boolean; size?: Extract; wrapperProps?: PassThroughPropsWithRef<"div">; rootProps?: PassThroughPropsWithRef<"div">; loading?: boolean; enableStepping?: boolean; }; export type YearlessDateInputRef = HTMLInputElement & { setValue: (value: YearlessDate | null) => { value: YearlessDate | null; isInputValid: boolean; isInputEmpty: boolean; }; removePlaceholder: (value: string) => string; }; /** * A masked date input component that allows for the input of a date in a specific format. * * Provides a `setDate` method that can be used to set the date from outside the component (e.g from a calendar). * * @internal This component is not intended to be used directly in consumer code. * * @param props - The props for the MaskedDateInput component. * @param props.onChange - The function to call when the date changes. * @param props.mode - The mode of the date input. */ export declare const YearlessDateInput: import('react').ForwardRefExoticComponent, "onChange" | "ref" | "size" | "value"> & { onChange: YearlessDateInputChangeHandler; mode?: YearlessDateMode; value?: YearlessDate | null; error?: boolean; size?: Extract; wrapperProps?: PassThroughPropsWithRef<"div">; rootProps?: PassThroughPropsWithRef<"div">; loading?: boolean; enableStepping?: boolean; } & import('react').RefAttributes>;