import { IInjectionInstance , ProviderToken , RegistrationProvider , LifeTime } from './interfaces' ; export interface IContainerOptions { parent ? : IContainer ; defaultLifeTime ? : LifeTime ; } export interface IContainer { register ( provider ) : void ; resolve ( token ) : IInjectionInstance ; resolveInternal ( token , container , traceMessage ? ) : IInjectionInstance ; createScope ( ) : IContainer ; createChild ( ) : IContainer ; setParent ( parent ) : void ; }