import Foundation

protocol NetworkServiceProtocol {
    func fetchSessions() async throws -> [RemoteSession]
    func syncSession(_ session: CelestiaSession) async throws -> RemoteSession
    func uploadAsset(sessionID: String, clientID: String, kind: String, fileURL: URL) async throws -> RemoteAsset
    func downloadAsset(sessionID: String, asset: RemoteAsset, destinationURL: URL) async throws
    func recordSyncCheckpoint() async throws
}
