import type { RefObject } from 'react';
import type { Control, FieldValues, Path } from 'react-hook-form';
import type { FromToDateType } from 'components/DatePicker/DatePicker';
import type { DateLabelProps } from 'components/DatePicker/DatePickerWrapperForm';
import type { Dayjs } from 'dayjs';
import type { FormErrorType } from 'models/general.model';
export interface InputDatePickerRef {
    open: () => void;
    close: () => void;
}
export interface InputDatePickerProps {
    value: Date | null;
    onChange: (date: Date) => void;
    fromDateCalculated?: FromToDateType;
    toDateCalculated?: FromToDateType;
    validDates?: Dayjs[];
    dateLabelProps?: DateLabelProps;
    locale?: 'he' | 'en';
    showDays?: boolean;
    placeholder?: string;
    label?: string;
    disabled?: boolean;
    error?: FormErrorType;
    helpText?: string;
    ariaLabel?: string;
    id?: string;
}
export interface InputDatePickerWrapperProps<T extends FieldValues> {
    name: Path<T>;
    control: Control<T, unknown>;
    fromDateCalculated?: FromToDateType;
    toDateCalculated?: FromToDateType;
    validDates?: Dayjs[];
    dateLabelProps?: DateLabelProps;
    locale?: 'he' | 'en';
    showDays?: boolean;
    placeholder?: string;
    label?: string;
    disabled?: boolean;
    error?: FormErrorType;
    helpText?: string;
    defaultValue?: Date | null;
    inputRef?: RefObject<InputDatePickerRef>;
    ariaLabel?: string;
}
