import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type PermissionAttributes = {
    Version: Attribute<string>;
    PermissionType: Attribute<string>;
    Arn: Attribute<string>;
    IsResourceTypeDefault: Attribute<boolean>;
};
export type Permission = AwsResource<'AWS::RAM::Permission', PermissionProperties, PermissionAttributes>;
/**
  Creates a customer managed permission for a specified resource type that you can attach to resource shares. It is created in the AWS Region in which you call the operation.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html">the AWS Docs</a>
*/
export declare function permission(permissionProps: PermissionProperties): Permission;
/**
  Creates a customer managed permission for a specified resource type that you can attach to resource shares. It is created in the AWS Region in which you call the operation.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html">the AWS Docs</a>
*/
export interface PermissionProperties {
    /** <code>ResourceType</code>  <a name="cfn-ram-permission-resourcetype"></a>
  Specifies the name of the resource type that this customer managed permission applies to.<br />
  The format is <code>&lt;service-code&gt;:&lt;resource-type&gt;</code> and is not case sensitive. For example, to specify an Amazon EC2 Subnet, you can use the string <code>ec2:subnet</code>. To see the list of valid values for this parameter, query the <a href="https://docs.aws.amazon.com/ram/latest/APIReference/API_ListResourceTypes.html">ListResourceTypes</a> operation.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    resourceType: Value<string>;
    /** <p> */
    policyTemplate: Value<any>;
    /** <code>Tags</code>  <a name="cfn-ram-permission-tags"></a>
  Specifies a list of one or more tag key and value pairs to attach to the permission.<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> */
    tags?: Tag[];
    /** <code>Name</code>  <a name="cfn-ram-permission-name"></a>
  Specifies the name of the customer managed permission. The name must be unique within the AWS Region.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>36</code><br />
  
  Pattern: <code>[\w.-]*</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>;
}
