import type { Repo } from "../api/repo.ts"; import type { Actor } from "../objects/types.ts"; import type { BranchScope } from "./scope.ts"; export type CatchUpResult = { caughtUp: { sha: string; ops: number; checkpoint?: string; }; } /** The capture was stopped by the signal before it finished: base holds part of the trunk * tree. The caller must NOT capture the workspace on top of it this time. */ | { partial: { sha: string; ops: number; remaining: number; }; } | { skipped: "not-a-workspace" | "no-git" | "no-trunk" | "no-merge-base" | "base-has-it" | "base-ahead"; }; /** * Capture the branch's merge-base with trunk into base if base does not have it yet. * Idempotent: a second call finds the `git:` link and skips. */ export declare function catchUpTrunk(repo: Repo, cwd: string, scope: BranchScope, actor: Actor, opts?: { signal?: AbortSignal; }): Promise; /** One stderr line when a catch-up did something — silence when it did not. */ export declare function catchUpMessage(r: CatchUpResult, branch: string): string | null; //# sourceMappingURL=trunkCatchUp.d.ts.map