import { Value } from '../../cloudformation/Value';
import { CanarySettingProps } from './stage/CanarySettingProps';
import { MethodSettingProps } from './stage/MethodSettingProps';
import { AccessLogSettingProps } from './stage/AccessLogSettingProps';
import { Tag } from '../Tag';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::ApiGateway::Stage</code> resource creates a stage for a deployment.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html">the AWS Docs</a>
*/
export type Stage = AwsResource<'AWS::ApiGateway::Stage', StageProperties>;
export declare function stage(stageProps: StageProperties): Stage;
/**
  The <code>AWS::ApiGateway::Stage</code> resource creates a stage for a deployment.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html">the AWS Docs</a>
*/
export interface StageProperties {
    /** <code>DeploymentId</code>  <a name="cfn-apigateway-stage-deploymentid"></a>
  The identifier of the Deployment that the stage points to.<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> */
    deploymentId?: Value<string>;
    /** <code>Description</code>  <a name="cfn-apigateway-stage-description"></a>
  The stage’s description.<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>StageName</code>  <a name="cfn-apigateway-stage-stagename"></a>
  The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.<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> */
    stageName?: Value<string>;
    /** <code>RestApiId</code>  <a name="cfn-apigateway-stage-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>CanarySetting</code>  <a name="cfn-apigateway-stage-canarysetting"></a>
  Settings for the canary deployment in this stage.<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> */
    canarySetting?: CanarySettingProps;
    /** <code>ClientCertificateId</code>  <a name="cfn-apigateway-stage-clientcertificateid"></a>
  The identifier of a client certificate for an API stage.<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> */
    clientCertificateId?: Value<string>;
    /** <code>Variables</code>  <a name="cfn-apigateway-stage-variables"></a>
  A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: <code>[A-Za-z0-9-._~:/?#&amp;=,]+</code>.<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> */
    variables?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>DocumentationVersion</code>  <a name="cfn-apigateway-stage-documentationversion"></a>
  The version of the associated API documentation.<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> */
    documentationVersion?: Value<string>;
    /** <code>TracingEnabled</code>  <a name="cfn-apigateway-stage-tracingenabled"></a>
  Specifies whether active tracing with X-ray is enabled for the Stage.<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> */
    tracingEnabled?: Value<boolean>;
    /** <code>MethodSettings</code>  <a name="cfn-apigateway-stage-methodsettings"></a>
  A map that defines the method settings for a Stage resource. Keys (designated as <code>/{method_setting_key</code> below) are method paths defined as <code>{resource_path}/{http_method}</code> for an individual method override, or <code>/\\u{002A}/\*</code> for overriding all methods in the stage.<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> */
    methodSettings?: MethodSettingProps[];
    /** <code>AccessLogSetting</code>  <a name="cfn-apigateway-stage-accesslogsetting"></a>
  Access log settings, including the access log format and access log destination ARN.<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> */
    accessLogSetting?: AccessLogSettingProps;
    /** <code>CacheClusterSize</code>  <a name="cfn-apigateway-stage-cacheclustersize"></a>
  The stage’s cache capacity in GB. For more information about choosing a cache size, see <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html">Enabling API caching to enhance responsiveness</a>.<br />
  
  Required: No<br />
  
  Allowed values: <code>0.5 | 1.6 | 118 | 13.5 | 237 | 28.4 | 58.2 | 6.1</code><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> */
    cacheClusterSize?: Value<'0.5' | '1.6' | '118' | '13.5' | '237' | '28.4' | '58.2' | '6.1'>;
    /** <code>Tags</code>  <a name="cfn-apigateway-stage-tags"></a>
  The collection of tags. Each tag element is associated with a given resource.<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> */
    tags?: Tag[];
    /** <code>CacheClusterEnabled</code>  <a name="cfn-apigateway-stage-cacheclusterenabled"></a>
  Specifies whether a cache cluster is enabled for the stage.<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> */
    cacheClusterEnabled?: Value<boolean>;
}
