import { IBundle } from "./IBundle" ; import { IConfig } from "./IConfig" ; import { IExtension } from "./IExtension" ; import { IInjector } from "./IInjector" ; import { ILogger } from "./ILogger" ; import { ILogTarget } from "./ILogTarget" ; import { IMatcher } from "./IMatcher" ; import { IEventDispatcher } from "../../events/api/IEventDispatcher" ; import { IClass } from "../../extensions/matching/IClass" ; /**
 * The Robotlegs context contract
 */ export let IContext = Symbol ( "IContext" ) ; export interface IContext extends IEventDispatcher { /**
     * The context dependency injector
     */ injector : IInjector ; /**
     * The current log level
     */ logLevel : number ; /**
     * The current lifecycle state
     */ state : string ; /**
     * Is this context uninitialized?
     */ uninitialized : boolean ; /**
     * Is this context initialized?
     */ initialized : boolean ; /**
     * Is this context active?
     */ active : boolean ; /**
     * Is this context suspended?
     */ suspended : boolean ; /**
     * Has this context been destroyed?
     */ destroyed : boolean ; param extensions return install ( ... extensions ) : IContext ; param configs return configure ( ... configs ) : IContext ; param child return addChild ( child ) : IContext ; param child return removeChild ( child ) : IContext ; param matcher param handler return addConfigHandler ( matcher , handler ) : IContext ; param source return getLogger ( source ) : ILogger ; param target return addLogTarget ( target ) : IContext ; param instances return detain ( ... instances ) : IContext ; param instances return release ( ... instances ) : IContext ; param callback initialize ( callback ? ) : void ; param callback suspend ( callback ? ) : void ; param callback resume ( callback ? ) : void ; param callback destroy ( callback ? ) : void ; param handler return beforeInitializing ( handler ) : IContext ; param handler return whenInitializing ( handler ) : IContext ; param handler return afterInitializing ( handler ) : IContext ; param handler return beforeSuspending ( handler ) : IContext ; param handler return whenSuspending ( handler ) : IContext ; param handler return afterSuspending ( handler ) : IContext ; param handler return beforeResuming ( handler ) : IContext ; param handler return whenResuming ( handler ) : IContext ; param handler return afterResuming ( handler ) : IContext ; param handler return beforeDestroying ( handler ) : IContext ; param handler return whenDestroying ( handler ) : IContext ; param handler return afterDestroying ( handler ) : IContext ; }