import { Control, FieldValues, Path } from 'react-hook-form';
import { Dayjs } from 'dayjs';
/**
 * Props do componente FormDatePicker
 *
 * @template TFieldValues - Tipo do formulário (inferido do schema Zod)
 */
export interface FormDatePickerProps<TFieldValues extends FieldValues> {
    /**
     * Instância do control do React Hook Form
     */
    control: Control<TFieldValues>;
    /**
     * Nome do campo no formulário (tipado com Path para autocomplete)
     */
    name: Path<TFieldValues>;
    /**
     * Label do campo
     */
    label: string;
    /**
     * Texto de ajuda exibido abaixo do input (não sobrescreve erros)
     */
    helperText?: string;
    /**
     * Marca o campo como obrigatório visualmente (asterisco no label)
     */
    required?: boolean;
    /**
     * Ocupar largura total do container
     * @default true
     */
    fullWidth?: boolean;
    /**
     * Desabilita o campo
     */
    disabled?: boolean;
    /**
     * Classe CSS adicional
     */
    className?: string;
    /**
     * Formato de exibição da data
     * @default "DD/MM/YYYY"
     */
    format?: string;
    /**
     * Data mínima selecionável
     */
    minDate?: Dayjs;
    /**
     * Data máxima selecionável
     */
    maxDate?: Dayjs;
    /**
     * Desabilita datas futuras (útil para data de nascimento)
     */
    disableFuture?: boolean;
    /**
     * Desabilita datas passadas
     */
    disablePast?: boolean;
}
