using System.Threading.Tasks;
using NPP.SmartSchedue.Api.Contracts.Services.Workbench.Input;
using NPP.SmartSchedue.Api.Contracts.Services.Workbench.Output;

namespace NPP.SmartSchedue.Api.Contracts.Services.Workbench;

/// <summary>
/// 工作台服务接口
/// 提供工作台相关的数据查询和业务逻辑处理
/// </summary>
public interface IWorkbenchService
{
    /// <summary>
    /// 获取用户本周日历数据
    /// 包含任务排班信息和班次不可用性信息，用于日历视图展示
    /// </summary>
    /// <param name="input">查询参数</param>
    /// <returns>本周日历数据</returns>
    Task<WeeklyCalendarOutput> GetWeeklyCalendarAsync(WeeklyCalendarInput input);
}