import { DandiApplicationConfig, Injector, InstanceGeneratorFactory, Logger, LogStream, NowFn, OnConfig, RegistrationSource, RootInjector, Scanner } from '@dandi/core/types'; export interface DandiApplicationInternalConfig extends DandiApplicationConfig { injector?: (generator: InstanceGeneratorFactory) => RootInjector; } declare const RootInjector: import("@dandi/core/types").SingleInjectionToken; /** * @internal */ export declare class DandiApplicationInit { logger: Logger; private config; startTs: number; get injector(): Injector; private appInjector; private initialized; private started; private readonly initHost; constructor(logger: Logger, config: TConfig); start(ts?: number): Promise; run(ts?: number): Promise; preInit(): Promise; init(injector: Injector, logger: Logger, now: NowFn, logStream?: LogStream): Promise; scan(rootInjector: RootInjector, logger: Logger, now: NowFn, scanners?: Scanner[]): Promise; runConfig(logger: Logger, now: NowFn, configs?: OnConfig[]): Promise; runConfigInternal(configs: OnConfig[]): Promise; bootstrap(): Promise; registerRootProviders(rootInjector: RootInjector, parentSource: RegistrationSource, module: any): void; } export {}; //# sourceMappingURL=dandi-application-init.d.ts.map