using RobotNet10.MapManager.Data; namespace RobotNet10.MapManager.Services; /// /// Service for querying map data (nodes and edges) by VehicleType /// public interface IMapQueryService { /// /// Get nodes filtered by VehicleType /// Returns only nodes that have NodeVehicleProperties for the specified VehicleType /// Task> GetNodesByVehicleTypeAsync(Guid vehicleTypeId); /// /// Get edges filtered by VehicleType /// Returns only edges that have EdgeVehicleProperties for the specified VehicleType /// Task> GetEdgesByVehicleTypeAsync(Guid vehicleTypeId); /// /// Get nodes filtered by VehicleType and LevelId /// Returns only nodes that have NodeVehicleProperties for the specified VehicleType and belong to the specified level /// Task> GetNodesByVehicleTypeAndLevelAsync(Guid vehicleTypeId, Guid levelId); /// /// Get edges filtered by VehicleType and LevelId /// Returns only edges that have EdgeVehicleProperties for the specified VehicleType and belong to the specified level /// Task> GetEdgesByVehicleTypeAndLevelAsync(Guid vehicleTypeId, Guid levelId); /// /// Get total count of nodes across all levels /// Task GetTotalNodesCountAsync(); /// /// Get total count of edges across all levels /// Task GetTotalEdgesCountAsync(); }