/** * Check if HEAD is at or behind origin/main. * Returns true when all local commits are already on main — * meaning @{u}..HEAD comparisons would give false positives * (e.g., after squash-merge + reset to main). */ export declare function headIsOnMain(cwd: string): boolean; /** * Record git status baseline for a session. Only writes on first call per session. * Returns true if a new baseline was created, false if one already existed. */ export declare function recordBaseline(sessionId: string, cwd: string): boolean; /** * Load the set of files that were dirty at session start. * Returns a Set of file paths (from git status --porcelain output). */ export declare function loadBaseline(sessionId: string, cwd: string): Set; /** * Clean up the baseline file for a session. */ export declare function removeBaseline(sessionId: string, cwd: string): void; export interface ActiveWorktree { path: string; branch: string; /** Unpushed commit count (0 if clean) */ unpushed: number; } /** * Detect active agent worktrees with unpushed work. * Parses `git worktree list --porcelain` for non-bare worktrees. */ export declare function getActiveWorktrees(cwd: string): ActiveWorktree[]; //# sourceMappingURL=git-utils.d.ts.map