import { Value } from '../../cloudformation/Value';
import { LoggingConfigProps } from './typeactivation/LoggingConfigProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type TypeActivationAttributes = {
    Arn: Attribute<string>;
};
export type TypeActivation = AwsResource<'AWS::CloudFormation::TypeActivation', TypeActivationProperties, TypeActivationAttributes>;
/**
  Activates a public third-party extension, making it available for use in stack templates. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html">Using public extensions</a> in the * AWS CloudFormation User Guide*.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html">the AWS Docs</a>
*/
export declare function typeActivation(typeActivationProps?: TypeActivationProperties): TypeActivation;
/**
  Activates a public third-party extension, making it available for use in stack templates. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html">Using public extensions</a> in the * AWS CloudFormation User Guide*.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html">the AWS Docs</a>
*/
export interface TypeActivationProperties {
    /** <code>MajorVersion</code>  <a name="cfn-cloudformation-typeactivation-majorversion"></a>
  The major version of this extension you want to activate, if multiple major versions are available. The default is the latest major version. CloudFormation uses the latest available
  minor: ersion of the major version selected.<br />
  You can specify <code>MajorVersion</code> or <code>VersionBump</code>, but not both.<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> */
    majorVersion?: Value<string>;
    /** <code>ExecutionRoleArn</code>  <a name="cfn-cloudformation-typeactivation-executionrolearn"></a>
  The name of the IAM execution role to use to activate the extension.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>arn:.+:iam::[0-9]{12}:role/.+</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> */
    executionRoleArn?: Value<string>;
    /** <code>TypeName</code>  <a name="cfn-cloudformation-typeactivation-typename"></a>
  The name of the extension.<br />
  Conditional: You must specify <code>PublicTypeArn</code>, or <code>TypeName</code>, <code>Type</code>, and <code>PublisherId</code>.<br />
  
  Required: Conditional<br />
  
  Minimum: <code>10</code><br />
  
  Maximum: <code>204</code><br />
  
  Pattern: <code>[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,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> */
    typeName?: Value<string>;
    /** <code>Type</code>  <a name="cfn-cloudformation-typeactivation-type"></a>
  The extension type.<br />
  Conditional: You must specify <code>PublicTypeArn</code>, or <code>TypeName</code>, <code>Type</code>, and <code>PublisherId</code>.<br />
  
  Required: Conditional<br />
  
  Allowed values: <code>HOOK | MODULE | RESOURCE</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> */
    type?: Value<'HOOK' | 'MODULE' | 'RESOURCE'>;
    /** <code>PublicTypeArn</code>  <a name="cfn-cloudformation-typeactivation-publictypearn"></a>
  The Amazon Resource Number (ARN) of the public extension.<br />
  Conditional: You must specify <code>PublicTypeArn</code>, or <code>TypeName</code>, <code>Type</code>, and <code>PublisherId</code>.<br />
  
  Required: Conditional<br />
  
  Maximum: <code>1024</code><br />
  
  Pattern: <code>arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}::type/.+/[0-9a-zA-Z]{12,40}/.+</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> */
    publicTypeArn?: Value<string>;
    /** <code>AutoUpdate</code>  <a name="cfn-cloudformation-typeactivation-autoupdate"></a>
  Whether to automatically update the extension in this account and Region when a new
  minor: ersion is published by the extension publisher. Major versions released by the publisher must be manually updated.<br />
  The default is <code>true</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> */
    autoUpdate?: Value<boolean>;
    /** <code>LoggingConfig</code>  <a name="cfn-cloudformation-typeactivation-loggingconfig"></a>
  Specifies logging configuration information for an extension.<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> */
    loggingConfig?: LoggingConfigProps;
    /** <code>PublisherId</code>  <a name="cfn-cloudformation-typeactivation-publisherid"></a>
  The ID of the extension publisher.<br />
  Conditional: You must specify <code>PublicTypeArn</code>, or <code>TypeName</code>, <code>Type</code>, and <code>PublisherId</code>.<br />
  
  Required: Conditional<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>40</code><br />
  
  Pattern: <code>[0-9a-zA-Z]{12,40}</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> */
    publisherId?: Value<string>;
    /** <p> */
    versionBump?: Value<string>;
    /** <code>TypeNameAlias</code>  <a name="cfn-cloudformation-typeactivation-typenamealias"></a>
  An alias to assign to the public extension, in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.<br />
  An extension alias must be unique within a given account and Region. You can activate the same public resource multiple times in the same account and Region, using different type name aliases.<br />
  
  Required: No<br />
  
  Minimum: <code>10</code><br />
  
  Maximum: <code>204</code><br />
  
  Pattern: <code>[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,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> */
    typeNameAlias?: Value<string>;
}
