using System.Threading; using System.Threading.Tasks; namespace RudderSdk.Core.Abstractions; /// /// Uploads raw bytes to pre-signed UGC URLs. Optional; required only by /// . /// public interface IUploadTransport { /// PUTs the payload to the pre-signed URL with the given content type. Task PutAsync(string url, byte[] data, string contentType, CancellationToken cancellationToken = default); }