using IntegrationGateway.Core.Models; namespace IntegrationGateway.Core.Abstractions; public interface IHasStreams : IIntegrationAdapter { Task GetLiveUrlAsync(string channelId); Task GetPlaybackUrlAsync(string channelId, DateTime start, DateTime end); Task StopPlayAsync(string channelId); Task GetSnapshotAsync(string channelId); Task PtzControlAsync(string channelId, string direction, float speed); Task PtzStopAsync(string channelId); Task> GetRecordingsAsync(string channelId, DateTime start, DateTime end, int page, int size); }