import type { PhaseRecord } from "./state.js";
export interface GitState {
    isGitRepo: boolean;
    branch?: string;
    headCommit?: string | null;
    ahead: number;
    behind: number;
    stagedCount: number;
    unstagedCount: number;
    untrackedCount: number;
    changedFiles: string[];
    stagedFiles?: string[];
    unstagedFiles?: string[];
    untrackedFiles?: string[];
    createdFiles?: string[];
    deletedFiles?: string[];
    clean: boolean;
    error?: string;
}
export interface PushAssessment {
    result: "allowed" | "review-required" | "blocked" | "not-applicable";
    reasons: string[];
    validationsPassed: boolean;
    pushPlan: {
        phaseCompleted: string;
        majorChanges: string[];
        validationsRun: string[];
        knownRisks: string[];
        recommendedNote: string;
    };
}
export declare function inspectGitState(targetRoot: string): Promise<GitState>;
export declare function assessPushReadiness(git: GitState, latestPhase: PhaseRecord | null): PushAssessment;
//# sourceMappingURL=git.d.ts.map