/**
 * Copyright Super iPaaS Integration LLC, an IBM Company 2024
 */
import { GatewayEndpoints } from "../../gateway/models/gateway-endpoint.model.js";
import { Gateway } from "../../gateway/models/gateway.model.js";

export interface IStudioGatewayIndexedDbHandler {
  setGatewayInstances(gatewayInstance: Gateway): Promise<void>;
  getGatewayInstances(): Promise<Gateway[] | void>;
  getGatewayInstance(name: string): Promise<Gateway | void>;
  deleteGatewayInstance(name: string): Promise<void>;
  updateGatewayInstance(name: string, gatewayInstance: Gateway): Promise<void>;
  setEndpoints(
    gatewayEndpoint: string[],
    gatewayName: string,
    apiName: string
  ): Promise<void>;
  getEndpoints(): Promise<GatewayEndpoints[] | void>;
}
