import type { RepoReader } from "../platform/repo/contract.js"; import type { AgentAdapter, FileCommitter, ImportConfig, ImportPipeline, TokenEstimator } from "./contract.js"; import { type HandoverCommandBuilder } from "./landing/index.js"; import { type PipelineStages } from "./pipeline.js"; export interface ImportPipelineDeps { /** Every constructed adapter, in the order the composition root listed them (FR-57). */ adapters: readonly AgentAdapter[]; config: ImportConfig; estimator: TokenEstimator; committer: FileCommitter; /** Read by the preview to say how far the tree moved (FR-37, FR-38). */ repo: RepoReader; /** * The import time written into the marker (FR-47). Injected because no stage may read a * clock: a preview and the commit that follows it must compute the same plan. */ now?: () => string; /** Renders an agent's own resume command for the handover (FR-45). */ handoverCommand?: HandoverCommandBuilder; } /** The four stages, wired. Internal: a host builds a pipeline, never a stage. */ export declare function buildStages(deps: ImportPipelineDeps): PipelineStages; /** One import, from listing to landing. The only thing a host constructs here. */ export declare function createImportPipeline(deps: ImportPipelineDeps): ImportPipeline;