import { type RuntimeConfig } from "./config/runtime.js"; import { type JsonValidator } from "./files.js"; import type { HostTarget, SessionIntent } from "./types.js"; /** * Defines injectable workspace pipeline dependencies for deterministic tests. */ export interface WorkspacePipelineDependencies { getRuntimeConfig(): RuntimeConfig; readJsonFileOrNull(path: string, validator?: JsonValidator): Promise; runDiscover(args: string[], workspaceRoot: string, projectRoot: string): Promise; runRecommend(args: string[], workspaceRoot: string, projectRoot: string): Promise; runMirror(args: string[], workspaceRoot: string, projectRoot: string): Promise; runInstall(args: string[], workspaceRoot: string, projectRoot: string): Promise; runActivate(args: string[], workspaceRoot: string, projectRoot: string): Promise; writeWorkspaceProgress(message: string): void; } /** * Runs discover, recommendation, mirror, stage/install, activation, and shared * activation phases for a workspace before the selected adapter performs final * wire-in. */ export declare function runWorkspacePipeline(options: { projectRoot: string; workspaceRoot: string; targetHost: "copilot-vscode" | "opencode"; recommendationHost: HostTarget; sessionIntent: SessionIntent; sessionIntents?: readonly SessionIntent[]; bundleIds: string[]; }, dependencyOverrides?: Partial): Promise; /** * Repeatedly acquires mirror artifacts until the checkpoint reports completion * or the safety batch limit is reached. */ export declare function acquireAllMirrorBatches(projectRoot: string, workspaceRoot: string, batchSize: string, dependencyOverrides?: Partial): Promise; /** * Installs every requested bundle in batches until each bundle is fully staged * or the safety batch limit is reached. */ export declare function installBundleBatches(projectRoot: string, workspaceRoot: string, bundleIds: string[], batchSize: string, dependencyOverrides?: Partial): Promise;