/// import type { FileId, SelfFileApi } from '../../../types'; export type UseLogicParams = { /** * Идентификатор файла */ fileId: FileId; /** * Объект файла */ file?: File; /** * Название файла */ fileName: string; /** * URL файла, если он уже загружен */ fileUrl?: string; /** * Флаг состояния загрузки файла */ isLoading?: boolean; /** * Флаг состояния ошибки при загрузке файла */ isUploadError?: boolean; /** * Флаг состояния ошибки (загрузки или ограничения) */ isError?: boolean; /** * Функция для генерации ссылки на скачивание файла */ generateDownloadLink?: (fileId: FileId, file?: File, fileUrl?: string) => string; /** * Обработчик просмотра файла */ onView?: (fileId: FileId, file?: File, fileUrl?: string) => void; /** * Функция обработки нажатия на кнопку "Повторить отправку" */ onRetry?: (fileId: FileId, file: File) => void; /** * Функция, вызываемая при удалении файла */ onDelete: (fileId: FileId) => void; abortController?: AbortController; } & Pick; export declare const useLogic: ({ fileId, file, fileUrl, isUploadError, generateDownloadLink, onDelete, onRetry, onView, setErrorStatusFile, selfFiles, isLoading, isError, fileName, }: UseLogicParams) => { downloadButtonProps: { href: string; }; viewButtonProps: { isShowViewButton: boolean; onClick: () => void | undefined; } | { component: import("react").ElementType; href: string; target: string; rel: string; isShowViewButton: boolean; onClick?: undefined; }; isVisibleAbortButton: boolean; isVisibleRetryButton: boolean; handleAbort: () => void; handleDelete: () => void; handleRetry: () => void | undefined; isLoading: boolean | undefined; isError: boolean | undefined; fileName: string; };