// Import shared types
import Deployment from './Deployment';

/**
 * Configuration file
 * @author Gabe Abrams
 */
type Config = {
  // Database name
  dbName?: string,
  // List of deployments
  deployments: Deployment[],
  // Custom stack deployment process
  customStackDeploymentProcess: {
    // Deployment description
    description: string,
    // Steps in the custom deployment process
    steps: Array<{
      // Title of the step (e.g. "Check diff", "Deploy")
      title: string,
      // Description of the step to show to the user
      description: string,
      // Command to run after this step
      command?: string,
      // If true, ask the user to confirm before running the command
      askUserBeforeContinuing?: boolean,
      // If true, don't clear the screen before this step
      dontClearBefore?: boolean,
    }>,
  },
  // List of related clusters
  relatedClusters?: {
    name: string,
    cluster: string,
  }[],
};

export default Config;
