import { Value } from '../../cloudformation/Value';
import { PolicyDocument } from '../../cloudformation/iam/PolicyDocument';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type PolicyAttributes = {
    Id: Attribute<string>;
    Arn: Attribute<string>;
};
export type Policy = AwsResource<'AWS::IoT::Policy', PolicyProperties, PolicyAttributes>;
/**
  Use the <code>AWS::IoT::Policy</code> resource to declare an AWS IoT policy. For more information about working with AWS IoT policies, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/authorization.html">Authorization</a> in the <em>AWS IoT Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html">the AWS Docs</a>
*/
export declare function policy(policyProps: PolicyProperties): Policy;
/**
  Use the <code>AWS::IoT::Policy</code> resource to declare an AWS IoT policy. For more information about working with AWS IoT policies, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/authorization.html">Authorization</a> in the <em>AWS IoT Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html">the AWS Docs</a>
*/
export interface PolicyProperties {
    /** <code>PolicyName</code>  <a name="cfn-iot-policy-policyname"></a>
  The policy name.<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> */
    policyName?: Value<string>;
    /** <code>PolicyDocument</code>  <a name="cfn-iot-policy-policydocument"></a>
  The JSON document that describes the policy.<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> */
    policyDocument: Value<PolicyDocument>;
    /**  */
    tags?: Tag[];
}
