/**
 * Copyright IBM Corp. 2024, 2025
 */
import JSZip from 'jszip';
import { Project } from '../../lfs/models/project.model.js';
import { VCSProject } from '../../vcs/models/vcs-project.model.js';
import { Gateway } from '../models/gateway.model.js';
import { APICProject } from '../../apic-mode/models/apic-project.model.js';


export interface IDeployHandler {
    deploy(zip: JSZip, gatewayName: string): Promise<any>;
    createZip(gateway: Gateway, secret: string, isOverWrite: boolean, project: Project | VCSProject | APICProject, projects: (Project | VCSProject | APICProject)[]): Promise<JSZip>
    configure(gateway: Gateway, secret: string): Promise<{ isValid: boolean, validationError: string, status: number }>;
}
