using RobotNet10.Shared.Detection; namespace RobotNet10.RobotApp.Detection; /// /// Main service interface for marker and landmark detection /// Manages detection sessions and device transforms /// public interface IMarkerDetector : IDisposable { /// /// Create a new detection session /// /// Session configuration with search area and marker list /// Created detection session instance /// /// Thrown if: /// - Marker IDs don't exist in database /// - Device IDs don't exist in device provider /// - Invalid configuration parameters /// Task CreateSessionAsync(MarkersSearchRequest request); /// /// Get all active sessions /// /// Read-only list of active sessions IReadOnlyList GetActiveSessions(); /// /// Get session by ID /// /// Session ID to find /// Session if found, null otherwise IDetectSession? GetSession(Guid sessionId); }