import { createWorktree, type ListWorktreeEntry, type Worktree, type WorktreeDeps, type WorktreeReconciliationSummary } from "../../packages/worktree/dist/index.js"; import type { SpawnOptions, SpawnResult, WorktreeExecutionOptions } from "./types.js"; export type WorktreeExecutionContext = { sourceCwd: string; worktreeCwd: string; worktree: Worktree; signal?: AbortSignal; }; export type WorktreeExecutionResult = { worktree: Worktree; reconciliation?: WorktreeReconciliationSummary; }; export type RunInWorktreeInput = { cwd: string; selectedAgent: string; selectedModel?: string; worktree: WorktreeExecutionOptions; run: (context: WorktreeExecutionContext) => Promise; signal?: AbortSignal; spawnAgent?: SpawnAgent; deps?: WorktreeDeps; }; export type RunInWorktreeResult = { value: T; worktree: WorktreeExecutionResult; }; export type RunWithOptionalWorktreeInput = Omit, "worktree"> & { worktree?: WorktreeExecutionOptions; }; export type RunWithOptionalWorktreeResult = { value: T; worktree?: WorktreeExecutionResult; }; export type ManagedWorktreeCreateOptions = Parameters[0]; export type ManagedWorktreeReconcileOptions = { cwd: string; name: string; agent: string; registryFile?: string; deps?: WorktreeDeps; signal?: AbortSignal; spawnAgent?: SpawnAgent; }; export type ManagedWorktreeListOptions = { cwd: string; registryFile?: string; deps?: WorktreeDeps; }; export type ManagedWorktreeRemoveOptions = { cwd: string; name: string; registryFile?: string; deleteBranch?: boolean; deps?: WorktreeDeps; }; type SpawnAgent = (service: string, options: SpawnOptions & { worktree?: false; }) => Promise; export declare function runInWorktree(input: RunInWorktreeInput): Promise>; export declare function runWithOptionalWorktree(input: RunWithOptionalWorktreeInput): Promise>; export declare function createManagedWorktree(options: ManagedWorktreeCreateOptions): Promise; export declare function reconcileManagedWorktree(options: ManagedWorktreeReconcileOptions): Promise; export declare function listManagedWorktrees(options: ManagedWorktreeListOptions): Promise; export declare function removeManagedWorktree(options: ManagedWorktreeRemoveOptions): Promise; export {};