using System;
using System.Collections.Generic;
namespace SharedLibraryCore.Interfaces
{
///
/// defines capabilities of script command factory
///
public interface IScriptCommandFactory
{
///
/// generate a new script command from parsed source
///
/// name of command
/// alias of command
/// description of command
/// minimum required permission
/// target required or not
/// command arguments (name, is required)
/// action to peform when commmand is executed
///
IManagerCommand CreateScriptCommand(string name, string alias, string description, string permission, bool isTargetRequired, IEnumerable<(string, bool)> args, Action executeAction);
}
}