import { EggPlugin } from "./types.js"; import { Agent } from "./agent.js"; import { Application } from "./application.js"; import { LoaderFS } from "@eggjs/core"; //#region src/lib/start.d.ts export interface StartEggOptions { /** specify framework that can be absolute path or npm package */ framework?: string; /** directory of application, default to `process.cwd()` */ baseDir?: string; /** ignore single process mode warning */ ignoreWarning?: boolean; mode?: "single"; env?: string; plugins?: EggPlugin; /** Skip lifecycle hooks, only trigger loadMetadata for manifest generation */ metadataOnly?: boolean; /** Loader-facing filesystem abstraction */ loaderFS?: LoaderFS; /** * When true, load application metadata for V8 startup snapshot construction. * The lifecycle stops after configWillLoad (no servers, timers, or connections) * and skips `egg-ready` broadcast. `ready()` resolves when loading completes. */ snapshot?: boolean; } export interface SingleModeApplication extends Application { agent: SingleModeAgent; } export interface SingleModeAgent extends Agent { app: SingleModeApplication; } /** * Start egg with single process. * * When `options.snapshot` is true, loads application metadata for V8 startup * snapshot construction. The lifecycle stops after `configWillLoad` (no servers, * timers, or connections) and skips `egg-ready` broadcast. */ export declare function startEgg(options?: StartEggOptions): Promise; //#endregion