import { type CapabilityId, type PluginId, type RuntimeSnapshot } from '@zhin.js/plugin-runtime'; import type { RuntimeEnvironment } from './environment.js'; import type { EnvironmentLayers } from './environment-store.js'; import type { RuntimeConfigDocument } from '@zhin.js/plugin-runtime'; import type { IsolatedPluginRuntimePort } from './isolation.js'; import type { ModuleRuntime } from './module-runtime.js'; import { type PluginConfigResolver, type RootResourceInstaller } from './plugin-scope-assembler.js'; import type { ProjectGraph } from './project-graph.js'; import { type PreparedRuntimeGeneration, type RuntimeGenerationModel } from './runtime-generation.js'; import { type CapabilityDelta } from './convention-capability-delta.js'; /** Runtime-local invalidation to commit alongside an ABI-safe manifest change. */ export interface TopologyRuntimeDelta { readonly slots: readonly CapabilityId[]; readonly subtrees: readonly PluginId[]; readonly capabilities?: CapabilityDelta; } /** Prepares manifest topology changes without rebuilding stable Plugin Scopes. */ export declare class TopologyGenerationPreparer { #private; private readonly modules; private readonly model; private readonly graph; private readonly configResolver; private readonly primaryConfigDocument; private readonly environment; private readonly installResources?; private readonly environmentLayers; private readonly isolation?; constructor(modules: ModuleRuntime, model: RuntimeGenerationModel, graph: ProjectGraph, configResolver: PluginConfigResolver, primaryConfigDocument: RuntimeConfigDocument, environment: RuntimeEnvironment, installResources?: RootResourceInstaller | undefined, environmentLayers?: EnvironmentLayers, isolation?: IsolatedPluginRuntimePort | undefined); prepare(current: RuntimeSnapshot, signal: AbortSignal, delta?: TopologyRuntimeDelta): Promise; }