import { Value } from '../../cloudformation/Value';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::AppStream::User</code> resource creates a new user in the AppStream 2.0 user pool.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html">the AWS Docs</a>
*/
export type User = AwsResource<'AWS::AppStream::User', UserProperties>;
export declare function user(userProps: UserProperties): User;
/**
  The <code>AWS::AppStream::User</code> resource creates a new user in the AppStream 2.0 user pool.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html">the AWS Docs</a>
*/
export interface UserProperties {
    /** <code>UserName</code>  <a name="cfn-appstream-user-username"></a>
  The email address of the user.<br />
  Users’ email addresses are case-sensitive. During login, if they specify an email address that doesn’t use the same capitalization as the email address specified when their user pool account was created, a “user does not exist” error message displays.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>[\p{L}\p{M}\p{S}\p{N}\p{P}]+</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> */
    userName: Value<string>;
    /** <code>FirstName</code>  <a name="cfn-appstream-user-firstname"></a>
  The first name, or given name, of the user.<br />
  
  Required: No<br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>^[A-Za-z0-9_\-\s]+$</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> */
    firstName?: Value<string>;
    /** <code>MessageAction</code>  <a name="cfn-appstream-user-messageaction"></a>
  The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first name or last name of the user. If the value is null, the email is sent.<br />
  The temporary password in the welcome email is valid for only 7 days. If users don’t set their passwords within 7 days, you must send them a new welcome email.
  
  Required: No<br />
  
  Allowed values: <code>RESEND | SUPPRESS</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> */
    messageAction?: Value<'RESEND' | 'SUPPRESS'>;
    /** <code>LastName</code>  <a name="cfn-appstream-user-lastname"></a>
  The last name, or surname, of the user.<br />
  
  Required: No<br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>^[A-Za-z0-9_\-\s]+$</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> */
    lastName?: Value<string>;
    /** <code>AuthenticationType</code>  <a name="cfn-appstream-user-authenticationtype"></a>
  The authentication type for the user. You must specify USERPOOL.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>API | AWS_AD | SAML | USERPOOL</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> */
    authenticationType: Value<'API' | 'AWS_AD' | 'SAML' | 'USERPOOL'>;
}
