import { Project } from 'projen'; import { BashStepConfig, GithubStepConfig, GitlabStepConfig, PipelineStep } from './step'; /** * Configuration for an AWS Amplify deployment step */ export interface AmplifyDeployStepConfig { /** The Amplify app ID (static value) */ readonly appId?: string; /** Command to retrieve the Amplify app ID dynamically */ readonly appIdCommand?: string; /** The artifact file to deploy (zip file containing the build) */ readonly artifactFile: string; /** The branch name to deploy to (defaults to 'main') */ readonly branchName?: string; /** The AWS region (defaults to 'eu-central-1') */ readonly region?: string; /** Environment name */ readonly environment?: string; } /** * A step that deploys a web application to AWS Amplify */ export declare class AmplifyDeployStep extends PipelineStep { private readonly config; private readonly branchName; private readonly region; constructor(project: Project, config: AmplifyDeployStepConfig); /** * Generate the core Amplify deployment commands */ private getDeploymentCommands; /** * Get the command to set the Amplify App ID */ private getAppIdCommand; toGitlab(): GitlabStepConfig; toGithub(): GithubStepConfig; toBash(): BashStepConfig; }