import { Value } from '../../cloudformation/Value';
import { ParameterProps } from './extension/ParameterProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ExtensionAttributes = {
    Id: Attribute<string>;
    Arn: Attribute<string>;
    VersionNumber: Attribute<number>;
};
export type Extension = AwsResource<'AWS::AppConfig::Extension', ExtensionProperties, ExtensionAttributes>;
/**
  Creates an AWS AppConfig extension. An extension augments your ability to inject logic or behavior at different points during the AWS AppConfig workflow of creating or deploying a configuration.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html">the AWS Docs</a>
*/
export declare function extension(extensionProps: ExtensionProperties): Extension;
/**
  Creates an AWS AppConfig extension. An extension augments your ability to inject logic or behavior at different points during the AWS AppConfig workflow of creating or deploying a configuration.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html">the AWS Docs</a>
*/
export interface ExtensionProperties {
    /** <code>Description</code>  <a name="cfn-appconfig-extension-description"></a>
  Information about the extension.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>1024</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>;
    /** <code>Parameters</code>  <a name="cfn-appconfig-extension-parameters"></a>
  The parameters accepted by the extension. You specify parameter values when you associate the extension to an AWS AppConfig resource by using the <code>CreateExtensionAssociation</code> API action. For AWS Lambda extension actions, these parameters are included in the Lambda request object.<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> */
    parameters?: {
        [key: string]: ParameterProps;
    };
    /** <code>Actions</code>  <a name="cfn-appconfig-extension-actions"></a>
  The actions defined in the extension.<br />
  
  Required: Yes<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> */
    actions: Value<any>;
    /** <code>LatestVersionNumber</code>  <a name="cfn-appconfig-extension-latestversionnumber"></a>
  You can omit this field when you create an extension. When you create a new version, specify the most recent current version number. For example, you create version 3, enter 2 for this field.<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> */
    latestVersionNumber?: Value<number>;
    /** <code>Tags</code>  <a name="cfn-appconfig-extension-tags"></a>
  Adds one or more tags for the specified extension. Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.<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> */
    tags?: Tag[];
    /** <code>Name</code>  <a name="cfn-appconfig-extension-name"></a>
  A name for the extension. Each extension name in your account must be unique. Extension versions use the same name.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>64</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>;
}
