import { Value } from '../../cloudformation/Value';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::Cognito::UserPoolIdentityProvider</code> resource creates an identity provider for a user pool.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html">the AWS Docs</a>
*/
export type UserPoolIdentityProvider = AwsResource<'AWS::Cognito::UserPoolIdentityProvider', UserPoolIdentityProviderProperties>;
export declare function userPoolIdentityProvider(userPoolIdentityProviderProps: UserPoolIdentityProviderProperties): UserPoolIdentityProvider;
/**
  The <code>AWS::Cognito::UserPoolIdentityProvider</code> resource creates an identity provider for a user pool.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html">the AWS Docs</a>
*/
export interface UserPoolIdentityProviderProperties {
    /** <code>ProviderName</code>  <a name="cfn-cognito-userpoolidentityprovider-providername"></a>
  The IdP name.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>32</code><br />
  
  Pattern: <code>[^_\p{Z}][\p{L}\p{M}\p{S}\p{N}\p{P}][^_\p{Z}]+</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> */
    providerName: Value<string>;
    /** <code>UserPoolId</code>  <a name="cfn-cognito-userpoolidentityprovider-userpoolid"></a>
  The user pool ID.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>55</code><br />
  
  Pattern: <code>[\w-]+_[0-9a-zA-Z]+</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> */
    userPoolId: Value<string>;
    /** <code>AttributeMapping</code>  <a name="cfn-cognito-userpoolidentityprovider-attributemapping"></a>
  A mapping of IdP attributes to standard and custom user pool attributes.<br />
  
  Required: No<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> */
    attributeMapping?: Value<any>;
    /** <p> */
    providerDetails?: Value<any>;
    /** <code>ProviderType</code>  <a name="cfn-cognito-userpoolidentityprovider-providertype"></a>
  The IdP type.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>Facebook | Google | LoginWithAmazon | OIDC | SAML | SignInWithApple</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> */
    providerType: Value<'Facebook' | 'Google' | 'LoginWithAmazon' | 'OIDC' | 'SAML' | 'SignInWithApple'>;
    /** <code>IdpIdentifiers</code>  <a name="cfn-cognito-userpoolidentityprovider-idpidentifiers"></a>
  A list of IdP identifiers.<br />
  
  Required: No<br />
  
  Maximum: <code>50</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> */
    idpIdentifiers?: Value<Value<string>[]>;
}
