import { Container } from './container.js'; type ConfigurationSource = object | (new (...args: any[]) => object); type BootstrapToken = string | (new (...args: any[]) => any); /** Explicit application startup and lifecycle coordinator. */ export declare class ApplicationContext { readonly container: Container; private readonly configurations; private readonly bootstraps; private readonly startedComponents; private state; private startPromise?; private stopPromise?; private failure?; constructor(container?: Container); static builder(container?: Container): ApplicationContext; configuration(...sources: ConfigurationSource[]): this; bootstrap(...tokens: BootstrapToken[]): this; start(): Promise; stop(): Promise; private performStart; private performStop; private cleanup; private preflight; private assertMutable; } export {};