using NostrStreamer.Database; namespace NostrStreamer.Services.StreamManager; public interface IStreamManager { /// /// Return the current stream /// /// UserStream GetStream(); /// /// Stream ingress check on srs-edge /// /// List of forward URLs Task> OnForward(); /// /// Stream started at origin for HLS split /// /// Task StreamStarted(); /// /// Stream stopped /// /// Task StreamStopped(); /// /// Stream reap HLS /// /// /// Task ConsumeQuota(double duration); /// /// Update stream details /// /// /// /// /// /// /// Task PatchEvent(string? title, string? summary, string? image, string[]? tags, string? contentWarning); /// /// Update viewer count /// public Task UpdateViewers(); /// /// Add a guest to the stream /// /// /// /// /// Task AddGuest(string pubkey, string role, decimal zapSplit); /// /// Remove guest from the stream /// /// /// Task RemoveGuest(string pubkey); /// /// When a new DVR segment is available /// /// /// Task OnDvr(Uri segment); }