import type { PlanContext } from "../internals/plan.js"; import { type WorkspaceManifest, type WorkspaceRepo } from "./manifest.js"; export interface WorkspaceRepoState { id: string; path: string; remote?: string; branch?: string; sha?: string; dirty: boolean; git: boolean; ahead?: number; behind?: number; } export interface WorkspaceSnapshot { schemaVersion: 1; createdAt: string; label?: string; repos: WorkspaceRepoState[]; } export declare const WORKSPACE_REPO_CONCURRENCY = 4; export declare function readWorkspaceRepoState(ctx: PlanContext, repo: WorkspaceRepo): Promise; export declare function mapWorkspaceRepos(repos: readonly WorkspaceRepo[], mapper: (repo: WorkspaceRepo) => Promise): Promise; export declare function collectWorkspaceSnapshot(ctx: PlanContext, manifest: WorkspaceManifest, opts?: { label?: string; createdAt?: string; }): Promise; export declare function latestWorkspaceSnapshotPath(root: string): string | undefined;