import { Control, FieldValues, Path } from 'react-hook-form';
/**
 * Props do componente PhotoUpload
 *
 * Input de upload de foto com preview, integrado ao React Hook Form.
 */
export interface PhotoUploadProps<TFieldValues extends FieldValues = 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 exibido acima da área de upload
     */
    label?: string;
    /**
     * Tipos de arquivo aceitos
     * @default 'image/jpeg,image/png'
     */
    accept?: string;
    /**
     * Tamanho máximo do arquivo em MB
     * @default 5
     */
    maxSizeInMB?: number;
    /**
     * Texto de ajuda exibido abaixo do upload
     */
    helperText?: string;
    /**
     * Marca o campo como obrigatório visualmente
     */
    required?: boolean;
    /**
     * Desabilitar o upload
     */
    disabled?: boolean;
    /**
     * Classe CSS adicional
     */
    className?: string;
    /**
     * URL de preview padrão exibida quando nenhum arquivo foi selecionado.
     * Útil para exibir a foto existente em formulários de edição.
     */
    defaultPreviewUrl?: string;
}
