import type { TConstValue, ValueOrPromise } from '@venizia/ignis-helpers/common'; /** The step names the kernel defines - the vocabulary a subclass targets with `BootSequence.insertAfter`. A server application adds its own on top (`ServerBootSteps` in `@venizia/ignis`). */ export declare class BootSteps { static readonly STATIC_CONFIGURE = "staticConfigure"; static readonly REGISTER_ARTIFACTS = "registerArtifacts"; static readonly PRE_CONFIGURE = "preConfigure"; static readonly REGISTER_DEFAULT_MIDDLEWARES = "registerDefaultMiddlewares"; static readonly REGISTER_CONFIGURATIONS = "registerConfigurations"; static readonly REGISTER_DATA_SOURCES = "registerDataSources"; static readonly REGISTER_COMPONENTS = "registerComponents"; static readonly REGISTER_CONTRIBUTED_DATA_SOURCES = "registerContributedDataSources"; static readonly REGISTER_CONTROLLERS = "registerControllers"; static readonly POST_CONFIGURE = "postConfigure"; static readonly VERIFY_BINDINGS = "verifyBindings"; static readonly SCHEME_SET: Set; static isValid(value: string): boolean; } export type TBootStep = TConstValue; export interface IBootSequenceStep { name: string; run: () => ValueOrPromise; } /** Composes a boot sequence by name instead of copying the array - a subclass reads exactly what it adds by reading its own override, without diffing two files by eye. */ export declare class BootSequence { /** A duplicated name is refused as loudly as a missing one - picking the first match would splice a step into the wrong place silently. */ private static indexOf; static insertAfter(opts: { steps: IBootSequenceStep[]; target: string; step: IBootSequenceStep; }): IBootSequenceStep[]; } //# sourceMappingURL=boot-sequence.d.ts.map