import { Value } from '../../cloudformation/Value';
import { LoggingConfigProps } from './resourceversion/LoggingConfigProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ResourceVersionAttributes = {
    VersionId: Attribute<string>;
    ProvisioningType: Attribute<string>;
    IsDefaultVersion: Attribute<boolean>;
    Visibility: Attribute<string>;
    Arn: Attribute<string>;
    TypeArn: Attribute<string>;
};
export type ResourceVersion = AwsResource<'AWS::CloudFormation::ResourceVersion', ResourceVersionProperties, ResourceVersionAttributes>;
/**
  Registers a resource version with the CloudFormation service. Registering a resource version makes it available for use in CloudFormation templates in your AWS account, and includes:
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html">the AWS Docs</a>
*/
export declare function resourceVersion(resourceVersionProps: ResourceVersionProperties): ResourceVersion;
/**
  Registers a resource version with the CloudFormation service. Registering a resource version makes it available for use in CloudFormation templates in your AWS account, and includes:
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html">the AWS Docs</a>
*/
export interface ResourceVersionProperties {
    /** <code>ExecutionRoleArn</code>  <a name="cfn-cloudformation-resourceversion-executionrolearn"></a>
  The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the resource. If your resource calls AWS APIs in any of its handlers, you must create an
  <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html">IAM execution role</a>: hat includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.<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-replacement">Replacement</a> */
    executionRoleArn?: Value<string>;
    /** <code>TypeName</code>  <a name="cfn-cloudformation-resourceversion-typename"></a>
  The name of the resource being registered.<br />
  We recommend that resource names adhere to the following pattern:
  company_or_organization:
  service:
  type: br />
  The following organization namespaces are reserved and can’t be used in your resource names: */
    typeName: Value<string>;
    /** <code>LoggingConfig</code>  <a name="cfn-cloudformation-resourceversion-loggingconfig"></a>
  Logging configuration information for a 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-replacement">Replacement</a> */
    loggingConfig?: LoggingConfigProps;
    /** <code>SchemaHandlerPackage</code>  <a name="cfn-cloudformation-resourceversion-schemahandlerpackage"></a>
  A URL to the S3 bucket containing the resource project package that contains the necessary files for the resource you want to register.<br />
  For information on generating a schema handler package for the resource you want to register, see <a href="https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-submit.html">submit</a> in the
  CloudFormation CLI User Guide: br />
  The user registering the resource must be able to access the package in the S3 bucket. That is, the user needs to have <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> permissions for the schema handler package. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html">Actions, Resources, and Condition Keys for Amazon S3</a> in the
  AWS Identity and Access Management User Guide:
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>4096</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> */
    schemaHandlerPackage: Value<string>;
}
