namespace Spectre.Console.Cli;
///
/// Represents a command configurator.
///
public interface ICommandConfigurator
{
///
/// Adds an example of how to use the command.
///
/// The example arguments.
/// The same instance so that multiple calls can be chained.
ICommandConfigurator WithExample(params string[] args);
///
/// Adds an alias (an alternative name) to the command being configured.
///
/// The alias to add to the command being configured.
/// The same instance so that multiple calls can be chained.
ICommandConfigurator WithAlias(string name);
///
/// Sets the description of the command.
///
/// The command description.
/// The same instance so that multiple calls can be chained.
ICommandConfigurator WithDescription(string description);
///
/// Sets data that will be passed to the command via the .
///
/// The data to pass to the command.
/// The same instance so that multiple calls can be chained.
ICommandConfigurator WithData(object data);
///
/// Marks the command as hidden.
/// Hidden commands do not show up in help documentation or
/// generated XML models.
///
/// The same instance so that multiple calls can be chained.
ICommandConfigurator IsHidden();
}