import { GitStatus, GitStatusEntry } from "../publicTypes.js";
import { FileTreeGitStatusPatch } from "./publicTypes.js";

//#region src/model/gitStatus.d.ts
interface FileTreeGitStatusState {
  readonly changeCountByDirectoryPath: ReadonlyMap<string, number>;
  readonly directoriesWithChanges: ReadonlySet<string>;
  readonly ignoredDirectoryPaths: ReadonlySet<string>;
  readonly signature: string;
  readonly statusByPath: ReadonlyMap<string, GitStatus>;
}
declare function resolveFileTreeGitStatusState(entries: readonly GitStatusEntry[] | undefined, previous?: FileTreeGitStatusState | null): FileTreeGitStatusState | null;
declare function applyFileTreeGitStatusPatch(previous: FileTreeGitStatusState | null, patch: FileTreeGitStatusPatch | undefined): FileTreeGitStatusState | null;
//#endregion
export { FileTreeGitStatusState, applyFileTreeGitStatusPatch, resolveFileTreeGitStatusState };
//# sourceMappingURL=gitStatus.d.ts.map