export type MutationMode = "ci" | "local"; export type MutationEntry = { readonly kind: "added" | "deleted" | "trackedModified" | "typeChanged" | "untracked"; readonly path: string; } | { readonly kind: "renamed"; readonly newPath: string; readonly oldPath: string; }; export type MutationClassification = { readonly allowedTracked: readonly string[]; readonly decision: "allowed" | "partial" | "report-only"; readonly disallowedTracked: readonly string[]; readonly observed: { readonly added: readonly string[]; readonly deleted: readonly string[]; readonly renamed: readonly { readonly newPath: string; readonly oldPath: string; }[]; readonly trackedModified: readonly string[]; readonly typeChanged: readonly string[]; readonly untracked: readonly string[]; }; readonly untracked: readonly string[]; }; export type GitStatusSnapshot = { readonly digest: string; readonly entries: readonly MutationEntry[]; readonly entryCount: number; }; export declare function parseGitStatusPorcelain(raw: string): GitStatusSnapshot; export declare function classifyObservedMutations(pre: GitStatusSnapshot, post: GitStatusSnapshot, mode: MutationMode): MutationClassification;