export interface GitStatusDto {
    branch: string | null;
    uncommittedCount: number;
    unpushedCount: number;
    hasRemote: boolean;
    remoteUrl: string | null;
}
export interface UseGitStatusResult {
    status: GitStatusDto | null;
    loading: boolean;
    error: string | null;
    /** Manual refresh — fired by sync mutations to immediately re-read state. */
    refresh: () => Promise<void>;
}
/**
 * The shape `null` for `status` means "we haven't loaded yet" — distinct
 * from "loaded and clean" (status with all-zero counts). Consumers should
 * render a skeleton state while `status === null && loading`.
 */
export declare function useGitStatus(applicationId: string): UseGitStatusResult;
//# sourceMappingURL=use-git-status.d.ts.map