import { HeftPluginHost } from './HeftPluginHost'; import type { InternalHeftSession } from './InternalHeftSession'; import type { IHeftConfigurationJsonPluginSpecifier } from '../utilities/CoreConfigFiles'; import type { HeftLifecyclePluginDefinition } from '../configuration/HeftPluginDefinition'; import { HeftLifecycleSession, type IHeftLifecycleHooks, type IHeftLifecycleSession } from './HeftLifecycleSession'; import type { ScopedLogger } from './logging/ScopedLogger'; export interface IHeftLifecycleContext { lifecycleSession?: HeftLifecycleSession; pluginOptions?: object; } export declare class HeftLifecycle extends HeftPluginHost { private readonly _internalHeftSession; private readonly _lifecyclePluginSpecifiers; private readonly _lifecycleHooks; private readonly _lifecycleContextByDefinition; private readonly _lifecyclePluginsByDefinition; private _lifecycleLogger; private _isInitialized; get hooks(): IHeftLifecycleHooks; get pluginDefinitions(): Iterable; constructor(internalHeftSession: InternalHeftSession, lifecyclePluginSpecifiers: IHeftConfigurationJsonPluginSpecifier[]); protected applyPluginsInternalAsync(): Promise; ensureInitializedAsync(): Promise; get lifecycleLogger(): ScopedLogger; getSessionForPluginDefinitionAsync(pluginDefinition: HeftLifecyclePluginDefinition): Promise; private _getLifecyclePluginForPluginDefinitionAsync; } //# sourceMappingURL=HeftLifecycle.d.ts.map