import type { Attachment, UploadFunction } from "~/types";
interface UseFileUploadHandlerOptions {
    cleanupAbortController: (id: string) => void;
    createAbortController: (id: string) => AbortController;
    getFileById: (id: string) => File | undefined;
    onFileUpload?: UploadFunction;
    onFileUploadError?: (error: string) => void;
    setAttachmentError: (id: string, error: string) => void;
    setAttachmentUploading: (id: string) => void;
    updateAttachmentProgress: (id: string, progress: number) => void;
    updateAttachmentUrl: (id: string, url: string) => void;
}
export declare function useFileUploadHandler(options: UseFileUploadHandlerOptions): {
    readonly handleFilesUpload: (files: Attachment[]) => Promise<void>;
    readonly uploadSingleFile: (file: Attachment) => Promise<void>;
};
export {};
