namespace RobotNet.Script.Shares;

public interface IRobotNetGlobals
{
    Guid CurrentMissionId { get; }
    RobotNet.Script.ILogger Logger { get; }
    RobotNet.Script.IRobotManager RobotManager { get; }
    RobotNet.Script.IMapManager MapManager { get; }
    RobotNet.Script.IUnixDevice UnixDevice { get; }
    RobotNet.Script.IConnectionManager ConnectionManager { get; }
    Task<Guid> CreateMission(string name);
    Task<Guid> CreateMission(string name, params object[] parameters);
    bool CancelMission(Guid missionId, string reason);
    bool EnableTask(string name);
    bool DisableTask(string name);
}
