package com.doctate.watch.net

/**
 * Outcome of [UploadClient.upload]. Mirrors UploadOutcome in
 * clients/desktop/src/server_sync.rs (Succeeded / Transient / Terminal).
 */
sealed interface UploadResult {
    data class Success(val caseId: String, val recordedAt: String, val status: String) : UploadResult
    data class Transient(val reason: String) : UploadResult
    data class Terminal(val reason: String) : UploadResult
}
