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

import { ruleSetInfo } from '../../../apim/apim-governance-info.interface.js';

export interface IGovernanceRuleSetHandler {
  setGovernanceRuleSets(
    connection_name: string,
    org_name: string,
    rulesets: ruleSetInfo[],
  ): Promise<void>;
  getGovernanceRuleSets(
    connection_name: string,
    org_name: string,
  ): Promise<ruleSetInfo[]>;
  loadGovernanceRuleSets(): Promise<ruleSetInfo[]>;
  getSelectedConnectionDetails(): Promise<string>;
  setSelectedConnectionDetails(
    connection_name?: string,
    org_name?: string,
  ): Promise<void>;
  updateGovernanceRuleSet(
    connection_name: string,
    org_name: string,
    rulesetId: string,
    enabled: boolean,
  ): Promise<void>;
}
