import type { GitStatusResult } from "../server.js";
export interface BatchGitStatusOpts {
    /** When true, runs porcelain with -uall (untracked included). Default false → -uno. */
    untracked?: boolean;
    /** When set, all git invocations route through `docker exec -w cwd <cid> git ...`. */
    containerId?: string;
    /**
     * Project-level `base_ref` configuration. When non-empty, drives the
     * `primaryBranch` used for `aheadOfPrimary`/`behindPrimary` counters,
     * overriding the default `origin/HEAD` resolution. Empty/undefined →
     * preserves today's behaviour (`symbolic-ref refs/remotes/origin/HEAD`
     * with `master`/`main` fallback).
     *
     * See `docs/design/base-ref.md`.
     */
    configuredBaseRef?: string;
}
/** Parse `git diff --shortstat` output:
 *   ` 3 files changed, 12 insertions(+), 4 deletions(-)`
 *   ` 1 file changed, 5 insertions(+)`
 *   ` 2 files changed, 3 deletions(-)`
 *   ` 0 files changed`        (or empty)
 * Either insertions or deletions may be absent. Returns 0/0 on empty/parse failure. */
export declare function parseShortstat(raw: string): {
    insertions: number;
    deletions: number;
};
/** Top-level entry — dispatches to host (parallel native) or container
 * (batched docker exec). Never retries internally; caller (single-flight
 * cache + client) handles transient failure. */
export declare function runBatchGitStatusNative(cwd: string, opts?: BatchGitStatusOpts): Promise<GitStatusResult | null>;
//# sourceMappingURL=git-status-native.d.ts.map