using System.Threading.Tasks;
using Toolbox.Docking.Client.Interfaces;
using Toolbox.Docking.Client.Services;

namespace Toolbox.Docking.Client.Plugins
{
    /// <summary>
    /// Plugin module which will be activated when an extra action is activated in case TbExtraActionDefinition.ClientModule is assigned.
    /// </summary>
    public interface ITbClientPlugin
    {
        /// <summary>
        
        /// </summary>
        /// <param name="clientServices"></param>
        /// <param name="input"></param>
        /// <returns></returns>
        Task ClientPluginExecute(ITbClientServiceLocator clientServices, ITbExtraActionInputState input);
    }
}
