// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { SyncModel } from "./gen_models.js";

export type GitAuthor = { name: string | null, email: string | null, };

export type GitCommit = { author: GitAuthor, when: string, message: string | null, };

export type GitStatus = "untracked" | "conflict" | "current" | "modified" | "removed" | "renamed" | "type_change";

export type GitStatusEntry = { relaPath: string, status: GitStatus, staged: boolean, prev: SyncModel | null, next: SyncModel | null, };

export type GitStatusSummary = { path: string, headRef: string | null, headRefShorthand: string | null, entries: Array<GitStatusEntry>, origins: Array<string>, localBranches: Array<string>, remoteBranches: Array<string>, };

export type PullResult = { receivedBytes: number, receivedObjects: number, };

export type PushResult = "success" | "nothing_to_push";

export type PushType = "branch" | "tag";
