import { Value } from '../../cloudformation/Value';
import { AttributeProps } from './entitlement/AttributeProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type EntitlementAttributes = {
    CreatedTime: Attribute<string>;
    LastModifiedTime: Attribute<string>;
};
export type Entitlement = AwsResource<'AWS::AppStream::Entitlement', EntitlementProperties, EntitlementAttributes>;
/**
  Creates an entitlement to control access, based on user attributes, to specific applications within a stack. Entitlements apply to SAML 2.0 federated user identities. Amazon AppStream 2.0 user pool and streaming URL users are entitled to all applications in a stack. Entitlements don’t apply to the desktop stream view application or to applications managed by a dynamic app provider using the Dynamic Application Framework.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html">the AWS Docs</a>
*/
export declare function entitlement(entitlementProps: EntitlementProperties): Entitlement;
/**
  Creates an entitlement to control access, based on user attributes, to specific applications within a stack. Entitlements apply to SAML 2.0 federated user identities. Amazon AppStream 2.0 user pool and streaming URL users are entitled to all applications in a stack. Entitlements don’t apply to the desktop stream view application or to applications managed by a dynamic app provider using the Dynamic Application Framework.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html">the AWS Docs</a>
*/
export interface EntitlementProperties {
    /** <code>AppVisibility</code>  <a name="cfn-appstream-entitlement-appvisibility"></a>
  Specifies whether to entitle all apps or only selected apps.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>ALL | ASSOCIATED</code><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> */
    appVisibility: Value<'ALL' | 'ASSOCIATED'>;
    /** <code>Description</code>  <a name="cfn-appstream-entitlement-description"></a>
  The description of the entitlement.<br />
  
  Required: No<br />
  
  Maximum: <code>256</code><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> */
    description?: Value<string>;
    /** <code>Attributes</code>  <a name="cfn-appstream-entitlement-attributes"></a>
  The attributes of the entitlement.<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> */
    attributes: AttributeProps[];
    /** <code>StackName</code>  <a name="cfn-appstream-entitlement-stackname"></a>
  The name of the stack.<br />
  
  Required: Yes<br />
  
  Pattern: <code>^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$</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> */
    stackName: Value<string>;
    /** <code>Name</code>  <a name="cfn-appstream-entitlement-name"></a>
  The name of the entitlement.<br />
  
  Required: Yes<br />
  
  Pattern: <code>^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$</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>;
}
