import React from "react";
import { type Dayjs } from "dayjs";
import type { InputProps } from "./Input";
import type { DatePickerProps } from "./DatePicker";
export type DateInputFormat = "dd/mm/yyyy" | "mm/dd/yyyy";
export interface DateInputProps extends Omit<InputProps, "type" | "value" | "onChange" | "ref"> {
    /**
     * Valor de la fecha.
     * En modo register con FormProvider: Dayjs | null (se guarda como Dayjs en el formulario)
     * En modo register sin FormProvider: string ISO (se guarda como ISO string, se puede parsear a Dayjs)
     * En modo Controller: Dayjs | null
     */
    value?: Dayjs | null | string;
    /**
     * Callback cuando cambia la fecha.
     * En modo register: ChangeEventHandler (de register)
     * En modo Controller: (date: Dayjs | null) => void
     *
     * NOTA: Para usar Dayjs directamente con register, el formulario debe estar envuelto en FormProvider.
     * Sin FormProvider, el valor se guarda como ISO string y se puede parsear de vuelta a Dayjs usando normalizeToDayjs.
     */
    onChange?: ((date: Dayjs | null) => void) | React.ChangeEventHandler<HTMLInputElement>;
    format?: DateInputFormat;
    datePickerProps?: Omit<DatePickerProps, "value" | "onChange">;
    /**
     * Si es true, el input será de solo lectura. No se podrá modificar ni desplegar el DatePicker.
     * Por defecto es false.
     */
    readOnly?: boolean;
}
export declare const DateInput: React.ForwardRefExoticComponent<DateInputProps & React.RefAttributes<HTMLInputElement>>;
//# sourceMappingURL=DateInput.d.ts.map