using SameBeat.Application.DTO; using SameBeat.Application.Komendy; namespace SameBeat.Application.Interfejsy; public interface ISerwisPoczekalni { /// Dolacza nowego uczestnika do poczekalni biezacego wydarzenia i od razu wydaje mu token LiveKit (kamera, bez mikrofonu). Task> DolaczAsync(DolaczKomenda komenda, CancellationToken token = default); /// Lista oczekujacych (Status=Oczekuje) dla biezacego wydarzenia. Pusta lista, gdy brak wydarzenia. Task>> PobierzOczekujacychAsync(CancellationToken token = default); Task OdrzucAsync(Guid uczestnikId, CancellationToken token = default); Task ZbanujAsync(Guid uczestnikId, CancellationToken token = default); /// /// Token LiveKit dla hosta do podgladu pokoju POCZEKALNI (nie glownej sceny) -- tylko subskrypcja, /// zeby host mogl zobaczyc kamery oczekujacych zanim kogokolwiek zaakceptuje albo odrzuci. /// WynikOperacji WygenerujTokenPodgladuHosta(string nickHosta); }