import { Value } from '../../cloudformation/Value';
import { ProvisionedConcurrencyConfigurationProps } from './alias/ProvisionedConcurrencyConfigurationProps';
import { AliasRoutingConfigurationProps } from './alias/AliasRoutingConfigurationProps';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::Lambda::Alias</code> resource creates an <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html">alias</a> for a Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a different version.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html">the AWS Docs</a>
*/
export type Alias = AwsResource<'AWS::Lambda::Alias', AliasProperties>;
export declare function alias(aliasProps: AliasProperties): Alias;
/**
  The <code>AWS::Lambda::Alias</code> resource creates an <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html">alias</a> for a Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a different version.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html">the AWS Docs</a>
*/
export interface AliasProperties {
    /** <code>Description</code>  <a name="cfn-lambda-alias-description"></a>
  A description of the alias.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>256</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> */
    description?: Value<string>;
    /** <p> */
    functionName: Value<string>;
    /** <code>FunctionVersion</code>  <a name="cfn-lambda-alias-functionversion"></a>
  The function version that the alias invokes.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1024</code><br />
  
  Pattern: <code>(\$LATEST|[0-9]+)</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> */
    functionVersion: Value<string>;
    /** <code>Name</code>  <a name="cfn-lambda-alias-name"></a>
  The name of the alias.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>(?!^[0-9]+$)([a-zA-Z0-9-_]+)</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name: Value<string>;
    /** <code>ProvisionedConcurrencyConfig</code>  <a name="cfn-lambda-alias-provisionedconcurrencyconfig"></a>
  Specifies a <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html">provisioned concurrency</a> configuration for a function’s alias.<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> */
    provisionedConcurrencyConfig?: ProvisionedConcurrencyConfigurationProps;
    /** <code>RoutingConfig</code>  <a name="cfn-lambda-alias-routingconfig"></a>
  The <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html">routing configuration</a> of the alias.<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> */
    routingConfig?: AliasRoutingConfigurationProps;
}
