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();
}