namespace Spectre.Console.Cli;
///
/// Represents a user friendly frontend for a .
///
public interface ITypeRegistrarFrontend
{
///
/// Registers the type with the type registrar as a singleton.
///
/// The exposed service type.
/// The implementing type.
void Register()
where TImplementation : TService;
///
/// Registers the specified instance with the type registrar as a singleton.
///
/// The type of the instance.
/// The instance to register.
void RegisterInstance(TImplementation instance);
///
/// Registers the specified instance with the type registrar as a singleton.
///
/// The exposed service type.
/// implementing type.
/// The instance to register.
void RegisterInstance(TImplementation instance)
where TImplementation : TService;
}