import type { File } from '../../../../shared/contracts/files';
/**
 * Thrown when an upload is aborted via its `AbortSignal`.
 * Distinct from {@link UploadFileError} so callers can tell cancellation apart
 * from a genuine failure.
 */
export declare class UploadAbortedError extends Error {
    constructor(message?: string);
}
/**
 * Thrown when an upload fails (non-2xx response, network error, or unparseable body).
 */
export declare class UploadFileError extends Error {
    status?: number;
    constructor(message: string, status?: number);
}
export type UploadProgressCallback = (bytes: number, total: number) => void;
export declare const uploadFileViaXHR: <T = File>(url: string, token: string | null | undefined, formData: FormData, signal: AbortSignal, onProgress?: UploadProgressCallback) => Promise<T>;
