import { Value } from '../../cloudformation/Value';
import { StageDescriptionProps } from './deployment/StageDescriptionProps';
import { DeploymentCanarySettingsProps } from './deployment/DeploymentCanarySettingsProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type DeploymentAttributes = {
    DeploymentId: Attribute<string>;
};
export type Deployment = AwsResource<'AWS::ApiGateway::Deployment', DeploymentProperties, DeploymentAttributes>;
/**
  The <code>AWS::ApiGateway::Deployment</code> resource deploys an API Gateway <code>RestApi</code> resource to a stage so that clients can call the API over the internet. The stage acts as an environment.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html">the AWS Docs</a>
*/
export declare function deployment(deploymentProps: DeploymentProperties): Deployment;
/**
  The <code>AWS::ApiGateway::Deployment</code> resource deploys an API Gateway <code>RestApi</code> resource to a stage so that clients can call the API over the internet. The stage acts as an environment.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html">the AWS Docs</a>
*/
export interface DeploymentProperties {
    /** <code>Description</code>  <a name="cfn-apigateway-deployment-description"></a>
  The description for the Deployment resource to create.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    description?: Value<string>;
    /** <code>StageDescription</code>  <a name="cfn-apigateway-deployment-stagedescription"></a>
  The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.<br />
  
  Required: Conditional<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    stageDescription?: StageDescriptionProps;
    /** <code>StageName</code>  <a name="cfn-apigateway-deployment-stagename"></a>
  The name of the Stage resource for the Deployment resource to create.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    stageName?: Value<string>;
    /** <code>RestApiId</code>  <a name="cfn-apigateway-deployment-restapiid"></a>
  The string identifier of the associated RestApi.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    restApiId: Value<string>;
    /** <code>DeploymentCanarySettings</code>  <a name="cfn-apigateway-deployment-deploymentcanarysettings"></a>
  The input configuration for a canary deployment.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    deploymentCanarySettings?: DeploymentCanarySettingsProps;
}
