import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type PublicTypeVersionAttributes = {
    PublicTypeArn: Attribute<string>;
    PublisherId: Attribute<string>;
    TypeVersionArn: Attribute<string>;
};
export type PublicTypeVersion = AwsResource<'AWS::CloudFormation::PublicTypeVersion', PublicTypeVersionProperties, PublicTypeVersionAttributes>;
/**
  Tests and publishes a registered extension as a public, third-party extension.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html">the AWS Docs</a>
*/
export declare function publicTypeVersion(publicTypeVersionProps?: PublicTypeVersionProperties): PublicTypeVersion;
/**
  Tests and publishes a registered extension as a public, third-party extension.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html">the AWS Docs</a>
*/
export interface PublicTypeVersionProperties {
    /** <code>TypeName</code>  <a name="cfn-cloudformation-publictypeversion-typename"></a>
  The name of the extension to test.<br />
  Conditional: You must specify <code>Arn</code>, or <code>TypeName</code> and <code>Type</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-replacement">Replacement</a> */
    typeName?: Value<string>;
    /** <p> */
    logDeliveryBucket?: Value<string>;
    /** <code>Type</code>  <a name="cfn-cloudformation-publictypeversion-type"></a>
  The type of the extension to test.<br />
  Conditional: You must specify <code>Arn</code>, or <code>TypeName</code> and <code>Type</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-replacement">Replacement</a> */
    type?: Value<'HOOK' | 'MODULE' | 'RESOURCE'>;
    /** <code>PublicVersionNumber</code>  <a name="cfn-cloudformation-publictypeversion-publicversionnumber"></a>
  The version number to assign to this version of the extension.<br />
  Use the following format, and adhere to semantic versioning when assigning a version number to your extension:<br />
  <code>MAJOR.MINOR.PATCH</code><br />
  For more information, see <a href="https://semver.org/">Semantic Versioning 2.0.0</a>.<br />
  If you don’t specify a version number, CloudFormation increments the version number by one minor version release.<br />
  You cannot specify a version number the first time you publish a type. AWS CloudFormation automatically sets the first version number to be <code>1.0.0</code>.<br />
  
  Required: No<br />
  
  Minimum: <code>5</code><br />
  
  Pattern: <code>^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(.*)$</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> */
    publicVersionNumber?: Value<string>;
    /** <code>Arn</code>  <a name="cfn-cloudformation-publictypeversion-arn"></a>
  The Amazon Resource Number (ARN) of the extension.<br />
  Conditional: You must specify <code>Arn</code>, or <code>TypeName</code> and <code>Type</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}:([0-9]{12})?:type/.+</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> */
    arn?: Value<string>;
}
