import type { ISession } from '../session/types.js';
import type { SignedFileInfo } from './types.js';
/**
 * Upload a file using the appropriate protocol.
 *
 * When upload.upload?.protocol is 'put', uses a simple PUT (Azure SAS / S3 presigned).
 * Otherwise, uses GCS resumable upload with optional retry/resume.
 */
export declare function uploadFileWithOptionalResume(session: ISession, upload: SignedFileInfo, opts?: {
    resume?: boolean;
}): Promise<void>;
//# sourceMappingURL=resumable.utils.d.ts.map