import {FC} from 'react';
import {IconProps} from '@tabler/icons-react-native';

import {HuGoFile} from '../interfaces';

export type FileActions = {
  canDownloadFile?: boolean;
  downloadWithAuthHeader?: boolean;
  hasAvatar?: boolean;
  Icon?: FC<IconProps>;
  onDeleteFile?: (id: string) => void;
  onPress?: () => void;
  onRetryUpload?: (id: string) => void;
  onStopUpload?: (id: string) => void;
  showCheckIcon?: boolean;
  showFileTypeIcon?: boolean;
  /**
   * When true, the download button uses the OS download manager
   * (notification + Downloads folder on Android, Documents directory on iOS).
   * When false (default), keeps the existing "download then open in viewer"
   * behavior so forms/tasks/etc. don't change.
   */
  useSystemDownload?: boolean;
};

export type FileCardProps = FileActions & HuGoFile;
