import { EntityIdentifierProps } from './EntityIdentifierProps';
import { Value } from '../../../cloudformation/Value';
/**
  A structure that describes a policy created by instantiating a policy template.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-policy-templatelinkedpolicydefinition.html">the AWS Docs</a>
*/
export interface TemplateLinkedPolicyDefinitionProps {
    /** <code>Resource</code>  <a name="cfn-verifiedpermissions-policy-templatelinkedpolicydefinition-resource"></a>
  The resource associated with this template-linked policy. Verified Permissions substitutes this resource for the <code>?resource</code> placeholder in the policy template when it evaluates an authorization request.<br />
  
  Required: No<br />
  
  Update requires: Updates are not supported. */
    resource?: EntityIdentifierProps;
    /** <code>PolicyTemplateId</code>  <a name="cfn-verifiedpermissions-policy-templatelinkedpolicydefinition-policytemplateid"></a>
  The unique identifier of the policy template used to create this policy.<br />
  
  Required: Yes<br />
  
  Update requires: Updates are not supported. */
    policyTemplateId: Value<string>;
    /** <code>Principal</code>  <a name="cfn-verifiedpermissions-policy-templatelinkedpolicydefinition-principal"></a>
  The principal associated with this template-linked policy. Verified Permissions substitutes this principal for the <code>?principal</code> placeholder in the policy template when it evaluates an authorization request.<br />
  
  Required: No<br />
  
  Update requires: Updates are not supported. */
    principal?: EntityIdentifierProps;
}
