import { Value } from '../../cloudformation/Value';
import { IdentitySourceConfigurationProps } from './identitysource/IdentitySourceConfigurationProps';
import { IdentitySourceDetailsProps } from './identitysource/IdentitySourceDetailsProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type IdentitySourceAttributes = {
    Details_DiscoveryUrl: Attribute<string>;
    Details: Attribute<IdentitySourceDetailsProps>;
    Details_ClientIds: Attribute<string[]>;
    Details_UserPoolArn: Attribute<string>;
    Details_OpenIdIssuer: Attribute<string>;
    IdentitySourceId: Attribute<string>;
};
export type IdentitySource = AwsResource<'AWS::VerifiedPermissions::IdentitySource', IdentitySourceProperties, IdentitySourceAttributes>;
/**
  Creates or updates a reference to Amazon Cognito as an external identity provider.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.html">the AWS Docs</a>
*/
export declare function identitySource(identitySourceProps: IdentitySourceProperties): IdentitySource;
/**
  Creates or updates a reference to Amazon Cognito as an external identity provider.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.html">the AWS Docs</a>
*/
export interface IdentitySourceProperties {
    /** <code>PrincipalEntityType</code>  <a name="cfn-verifiedpermissions-identitysource-principalentitytype"></a>
  Specifies the namespace and data type of the principals generated for identities authenticated by the new identity source.<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> */
    principalEntityType?: Value<string>;
    /** <code>Configuration</code>  <a name="cfn-verifiedpermissions-identitysource-configuration"></a>
  Contains configuration information used when creating or updating an identity source.<br />
  At this time, the only valid member of this structure is a Amazon Cognito user pool configuration.<br />
  You must specify a <code>userPoolArn</code>, and optionally, a <code>ClientId</code>.
  
  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> */
    configuration: IdentitySourceConfigurationProps;
    /** <code>PolicyStoreId</code>  <a name="cfn-verifiedpermissions-identitysource-policystoreid"></a>
  Specifies the ID of the policy store in which you want to store this identity source. Only policies and requests made using this policy store can reference identities from the identity provider configured in the new identity source.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    policyStoreId?: Value<string>;
}
