import { ResourceBase } from '../resource'; import { Value, List } from '../dataTypes'; export declare class PasswordPolicy { RequireNumbers?: Value; MinimumLength?: Value; TemporaryPasswordValidityDays?: Value; RequireUppercase?: Value; RequireLowercase?: Value; RequireSymbols?: Value; constructor(properties: PasswordPolicy); } export declare class EmailConfiguration { ReplyToEmailAddress?: Value; EmailSendingAccount?: Value; SourceArn?: Value; constructor(properties: EmailConfiguration); } export declare class AdminCreateUserConfig { InviteMessageTemplate?: InviteMessageTemplate; UnusedAccountValidityDays?: Value; AllowAdminCreateUserOnly?: Value; constructor(properties: AdminCreateUserConfig); } export declare class SchemaAttribute { DeveloperOnlyAttribute?: Value; Mutable?: Value; AttributeDataType?: Value; StringAttributeConstraints?: StringAttributeConstraints; Required?: Value; NumberAttributeConstraints?: NumberAttributeConstraints; Name?: Value; constructor(properties: SchemaAttribute); } export declare class NumberAttributeConstraints { MinValue?: Value; MaxValue?: Value; constructor(properties: NumberAttributeConstraints); } export declare class SmsConfiguration { ExternalId?: Value; SnsCallerArn?: Value; constructor(properties: SmsConfiguration); } export declare class StringAttributeConstraints { MinLength?: Value; MaxLength?: Value; constructor(properties: StringAttributeConstraints); } export declare class Policies { PasswordPolicy?: PasswordPolicy; constructor(properties: Policies); } export declare class LambdaConfig { CreateAuthChallenge?: Value; PreAuthentication?: Value; DefineAuthChallenge?: Value; PreSignUp?: Value; PostAuthentication?: Value; PostConfirmation?: Value; CustomMessage?: Value; VerifyAuthChallengeResponse?: Value; constructor(properties: LambdaConfig); } export declare class DeviceConfiguration { DeviceOnlyRememberedOnUserPrompt?: Value; ChallengeRequiredOnNewDevice?: Value; constructor(properties: DeviceConfiguration); } export declare class InviteMessageTemplate { EmailMessage?: Value; SMSMessage?: Value; EmailSubject?: Value; constructor(properties: InviteMessageTemplate); } export interface UserPoolProperties { UserPoolTags?: { [key: string]: any; }; Policies?: Policies; MfaConfiguration?: Value; Schema?: List; AdminCreateUserConfig?: AdminCreateUserConfig; SmsAuthenticationMessage?: Value; UserPoolName?: Value; SmsVerificationMessage?: Value; EmailConfiguration?: EmailConfiguration; SmsConfiguration?: SmsConfiguration; AliasAttributes?: List>; EmailVerificationSubject?: Value; LambdaConfig?: LambdaConfig; UsernameAttributes?: List>; AutoVerifiedAttributes?: List>; DeviceConfiguration?: DeviceConfiguration; EmailVerificationMessage?: Value; } export default class UserPool extends ResourceBase { static PasswordPolicy: typeof PasswordPolicy; static EmailConfiguration: typeof EmailConfiguration; static AdminCreateUserConfig: typeof AdminCreateUserConfig; static SchemaAttribute: typeof SchemaAttribute; static NumberAttributeConstraints: typeof NumberAttributeConstraints; static SmsConfiguration: typeof SmsConfiguration; static StringAttributeConstraints: typeof StringAttributeConstraints; static Policies: typeof Policies; static LambdaConfig: typeof LambdaConfig; static DeviceConfiguration: typeof DeviceConfiguration; static InviteMessageTemplate: typeof InviteMessageTemplate; constructor(properties?: UserPoolProperties); }