/** * Freezing a live session into a static panel someone else can open. * * Capture needs no transport: by the time a developer wants to export, the * node side is already holding the timeline buffer, the component tree, the * details of everything that was inspected, and the HMR incompatibility list. * The export reads its own state and hands it to devframe's build adapter as * a second, replaying definition. * * The output is a plain directory: the panel SPA, a `__connection.json` that * says `backend: 'static'`, and the baked RPC dump. It is mount-path agnostic, * so it works opened from a file server at any base — zip it onto an issue. */ import type { FeatureSettings } from '../types/timeline.js'; import type { SessionSnapshot } from '../types/snapshot.js'; /** What {@link buildSnapshot} reports back to whoever asked for the export. */ export interface SnapshotBuildResult { outDir: string; events: number; components: number; details: number; } /** * Write `snapshot` to `outDir` as a self-contained static panel, replacing an * earlier snapshot there. Any other existing directory is refused. * * The build adapter is imported dynamically: it reaches for `node:fs`, and * `definition.ts` is deliberately framework- and environment-neutral, so a * static import would drag filesystem code into every context that merely * builds the definition. */ export declare const buildSnapshot: (snapshot: SessionSnapshot, options: { outDir: string; features: FeatureSettings | null; clientAssets?: string; }) => Promise; //# sourceMappingURL=snapshot.d.ts.map