/**
 * Copyright IBM Corp. 2024, 2025
 */

import { ChangedItem } from '../models/changed-item.model.js';

export interface IChangedItemHandler {
  loadUncommitedChanges(
    changedItems: ChangedItem[],
    repoNameWithOwner: string,
  ): Promise<void>;
  getVcsChangedItems(
    repoNameWithOwner: string,
    activeName: string,
  ): Promise<ChangedItem[]>;
  getActiveBranchName(repoNameWithOwner: string): Promise<string>;
  markStagedStatus(
    repoNameWithOwner: string,
    isStaged: boolean,
    filePaths: string[],
  ): Promise<void>;
  getAllChangedItems(): Promise<ChangedItem[]>;
}
