namespace Application.Abstractions.YouTube;
///
/// 채널별 라이브 방송 상태 저장소 (Redis 기반)
/// PubSub 알림 → videos.list 확인 후 상태 저장
/// 알림 없으면 = 라이브 아님 (할당량 절약)
///
public interface IYouTubeLiveStateStore
{
/// 라이브 상태 저장 (PubSub 알림 처리 시)
Task SetLiveAsync(string channelId, YouTubeLiveStreamInfo liveInfo);
/// 라이브 종료 시 상태 제거
Task ClearLiveAsync(string channelId);
/// 채널의 현재 라이브 상태 조회 (null = 라이브 아님)
Task GetLiveAsync(string channelId);
/// 현재 라이브 중인 모든 채널 조회
Task> GetAllLiveAsync();
}