export interface GitInfo { /** Last path segment of the cwd (always present). */ dir: string; /** Current branch (or short SHA when detached); undefined outside a repo. */ branch?: string; /** Working tree has uncommitted changes (staged, unstaged, or untracked). */ dirty: boolean; /** Commits ahead of upstream. */ ahead: number; /** Commits behind upstream. */ behind: number; } /** Parse `git status --porcelain=v1 --branch` into {@link GitInfo} flags. The * first `## ` line carries branch + `[ahead N, behind M]`; any further line is * a changed/untracked path → dirty. Exported pure for unit tests. */ export declare function parseGitStatus(dir: string, stdout: string): GitInfo; /** Fetch git context for `cwd` without blocking. On any error (not a repo, git * missing, timeout) the callback still fires with dir-only info so the border * shows the folder name regardless. */ export declare function fetchGitInfo(cwd: string, cb: (info: GitInfo) => void): void;