import { Application } from "./application.js"; import { StartEggOptions } from "./start.js"; //#region src/lib/snapshot.d.ts /** * Build a V8 startup snapshot of an egg application. * * Call this from the snapshot entry script passed to * `node --snapshot-blob=snapshot.blob --build-snapshot snapshot_entry.js`. * * It loads all metadata (plugins, configs, extensions, services, controllers, * router, tegg modules), triggers snapshotWillSerialize hooks to clean up * non-serializable resources (file handles, timers, process listeners), * then registers a V8 deserialize callback to stash the app for later restore. * * Example snapshot entry script: * ```ts * import { buildSnapshot } from 'egg'; * await buildSnapshot({ baseDir: __dirname }); * ``` * * Example restoring from snapshot: * ```ts * import { restoreSnapshot } from 'egg'; * const app = await restoreSnapshot(); * // app is fully restored with resources recreated, ready for server creation * ``` */ export declare function buildSnapshot(options?: Pick): Promise; /** * Restore an egg application from a V8 startup snapshot. * * Triggers the snapshotDidDeserialize lifecycle hooks to recreate * non-serializable resources (messenger, loggers, process listeners) * and resumes the lifecycle from configDidLoad through didReady. * * Returns the fully restored Application instance with all metadata * pre-loaded (plugins, configs, extensions, services, controllers, router). */ export declare function restoreSnapshot(): Promise; declare global { var __egg_snapshot_app: unknown; } //#endregion