///
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;
};