import type { FileId, UploadedFileData, UploadFile } from '../../types'; type UseUploadFilesParams = { /** * Список файлов, которые приходят как value в компонент */ files: UploadFile[]; /** * Флаг множественной загрузки файлов */ isMultiple?: boolean; /** * Функция, вызываемая при изменении списка файлов */ onChange: ((value: UploadFile[]) => void) | ((value: UploadFile | null) => void); /** * Функция загрузки файлов на сервер * @param fileId - Идентификатор файла * @param file - Объект файла для загрузки * @param options - Опции для управления загрузкой * @param options.signal - AbortSignal для отмены загрузки файла * @param options.setProgress - Функция для обновления прогресса загрузки * @returns Promise с данными загруженного файла */ onUploadFile?: (fileId: FileId, file: File, options: { signal: AbortSignal; setProgress: (progressFileId: FileId, progressEvent: ProgressEvent) => void; }) => Promise; /** * Функция, позволяющая задавать кастомный текст ошибки */ getErrorMessage?: (fileId: FileId, error: Error) => string; }; export declare const useUploadFiles: ({ isMultiple, files: externalFiles, onChange, onUploadFile, getErrorMessage, }: UseUploadFilesParams) => { enqueueFiles: (files: UploadFile[]) => void; refetchFile: (fileToSend: UploadFile) => void; selfFiles: Record; setErrorStatusFile: (fileId: string, errorMsg: string) => void; }; export {};