export interface FactoryDefinition < T > { create ( injections ? ) : T ; teardown ? ( instance ) : void ; } export interface Factory < T > { class : FactoryDefinition < T > ; create ( injections ? ) : T ; teardown ( instance ) : void ; }