/*
 * SPDX-License-Identifier: GPL-3.0-or-later
 */
package com.runicgateway.app.core.net

import kotlinx.coroutines.flow.Flow

/**
 * The live shard SSE feed as a cold flow of lifecycle + frame events (PLAN.md §6.2,
 * §7). Extracted as an interface so consumers (e.g. [com.runicgateway.app.data.repository.ShardRepository])
 * depend on the capability, not the OkHttp-backed [ShardStreamClient] — the boards
 * can then be unit-tested against a fake stream instead of a real network connection.
 */
interface ShardStream {
    fun events(): Flow<ShardStreamEvent>
}
