globals: { events: { afterInit: IEventDefinition<any>; beforeInit: IEventDefinition<any>; log: IEventDefinition<ILog>; resources: { afterInit: IEventDefinition<{ config: any; resource: IResource<any, any, any>; value: any; }>; beforeInit: IEventDefinition<{ config: any; resource: IResource<any, any, any>; }>; onError: IEventDefinition<{ error: Error; resource: IResource<any, any, any>; suppress: (() => void); }>; }; tasks: { afterRun: IEventDefinition<{ input: any; output: any; task: ITask<any, any, any, undefined>; }>; beforeRun: IEventDefinition<{ input: any; task: ITask<any, any, any, undefined>; }>; onError: IEventDefinition<{ error: any; suppress: (() => void); task: ITask<any, any, any, undefined>; }>; }; }; resources: { eventManager: IResource<EventManager, EventManager, {}>; logger: IResource<Logger, Logger, {}>; store: IResource<Store, Store, {}>; taskRunner: IResource<TaskRunner, TaskRunner, {}>; }; } = ...