import type { ExtensionAPI, ExtensionFactory } from "@earendil-works/pi-coding-agent"; import type { ForgeToolDefs } from "../forge-tools.js"; import { type SprintStreamFnFactory } from "./sprint/sprint-ceremony.js"; export type { SprintStreamFnFactory } from "./sprint/sprint-ceremony.js"; export interface RegisterRunSprintOptions { cwd?: string; /** * Test-only seam (forge-cli#17). When set, each `runForgeSubagent` call * spawned by the sprint handler (ceremony) and by the per-task pipeline * (each phase) is dispatched with `streamFn = factory({...})`. Production * callers leave this undefined. */ streamFnFactory?: SprintStreamFnFactory; forgeToolDefs?: ForgeToolDefs; /** Extension factories forwarded to each task's subagent sessions (see RunTaskPipelineOptions). */ extensionFactories?: ExtensionFactory[]; } export declare function registerRunSprint(pi: ExtensionAPI, options?: RegisterRunSprintOptions): void;