export interface CognitoIdentityProvider {
    /** The provider name for an Amazon Cognito user pool. For example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789. */
    ProviderName?: string;
    /** The client ID for the Amazon Cognito user pool. */
    ClientId?: string;
    /** TRUE if server-side token validation is enabled for the identity provider’s token. Once you set ServerSideTokenCheck to TRUE for an identity pool, that identity pool will check with the integrated use */
    ServerSideTokenCheck?: boolean;
}
export interface RoleMapping {
    /** The role mapping type. Token will use cognito:roles and cognito:preferred_role claims from the Cognito identity provider token to map groups to roles. Rules will attempt to match claims from the token */
    Type: 'Token' | 'Rules';
    /** If you specify Token or Rules as the Type, AmbiguousRoleResolution is required. Specifies the action to be taken if either no rules match the claim value for the Rules type, or there is no cognito:pre */
    AmbiguousRoleResolution?: 'AuthenticatedRole' | 'Deny';
    /** The rules to be used for mapping users to roles. If you specify Rules as the role mapping type, RulesConfiguration is required. */
    RulesConfiguration?: any;
}
/** Input to the CreateIdentityPool action. */
export interface CreateIdentityPoolInput {
    /** TRUE if the identity pool supports unauthenticated logins. */
    AllowUnauthenticatedIdentities: boolean;
    /** A string that you provide. */
    IdentityPoolName: string;
    /** Enables or disables the Basic (Classic) authentication flow. For more information, see Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide. */
    AllowClassicFlow?: boolean;
    /** An array of Amazon Cognito user pools and their client IDs. */
    CognitoIdentityProviders?: CognitoIdentityProvider[];
    /** The "domain" by which Cognito will refer to your users. This name acts as a placeholder that allows your backend and the Cognito service to communicate about the developer provider. For the DeveloperP */
    DeveloperProviderName?: string;
    /** Tags to assign to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria. */
    IdentityPoolTags?: Record<string, string>;
    /** The Amazon Resource Names (ARN) of the OpenID Connect providers. */
    OpenIdConnectProviderARNs?: string[];
    /** An array of Amazon Resource Names (ARNs) of the SAML provider for your identity pool. */
    SamlProviderARNs?: string[];
    /** Optional key:value pairs mapping provider names to provider app IDs. */
    SupportedLoginProviders?: Record<string, string>;
}
/** Input to the DeleteIdentities action. */
export interface DeleteIdentitiesInput {
    /** A list of 1-60 identities that you want to delete. */
    IdentityIdsToDelete: string[];
}
/** Input to the DeleteIdentityPool action. */
export interface DeleteIdentityPoolInput {
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
}
/** Input to the DescribeIdentity action. */
export interface DescribeIdentityInput {
    /** A unique identifier in the format REGION:GUID. */
    IdentityId: string;
}
/** Input to the DescribeIdentityPool action. */
export interface DescribeIdentityPoolInput {
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
}
/** Input to the GetCredentialsForIdentity action. */
export interface GetCredentialsForIdentityInput {
    /** A unique identifier in the format REGION:GUID. */
    IdentityId: string;
    /** The Amazon Resource Name (ARN) of the role to be assumed when multiple roles were received in the token from the identity provider. For example, a SAML-based identity provider. This parameter is optio */
    CustomRoleArn?: string;
    /** A set of optional name-value pairs that map provider names to provider tokens. The name-value pair will follow the syntax "provider_name": "provider_user_identifier". Logins should not be specified wh */
    Logins?: Record<string, string>;
}
/** Input to the GetId action. */
export interface GetIdInput {
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
    /** A standard Amazon Web Services account ID (9+ digits). */
    AccountId?: string;
    /** A set of optional name-value pairs that map provider names to provider tokens. The available provider names for Logins are as follows: Facebook: graph.facebook.com Amazon Cognito user pool: cognito-id */
    Logins?: Record<string, string>;
}
/** Input to the GetIdentityPoolRoles action. */
export interface GetIdentityPoolRolesInput {
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
}
/** Input to the GetOpenIdToken action. */
export interface GetOpenIdTokenInput {
    /** A unique identifier in the format REGION:GUID. */
    IdentityId: string;
    /** A set of optional name-value pairs that map provider names to provider tokens. When using graph.facebook.com and www.amazon.com, supply the access_token returned from the provider's authflow. For acco */
    Logins?: Record<string, string>;
}
/** Input to the GetOpenIdTokenForDeveloperIdentity action. */
export interface GetOpenIdTokenForDeveloperIdentityInput {
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
    /** A set of optional name-value pairs that map provider names to provider tokens. Each name-value pair represents a user from a public provider or developer provider. If the user is from a developer prov */
    Logins: Record<string, string>;
    /** A unique identifier in the format REGION:GUID. */
    IdentityId?: string;
    /** Use this operation to configure attribute mappings for custom providers. */
    PrincipalTags?: Record<string, string>;
    /** The expiration time of the token, in seconds. You can specify a custom expiration time for the token so that you can cache it. If you don't provide an expiration time, the token is valid for 15 minute */
    TokenDuration?: number;
}
export interface GetPrincipalTagAttributeMapInput {
    /** You can use this operation to get the ID of the Identity Pool you setup attribute mappings for. */
    IdentityPoolId: string;
    /** You can use this operation to get the provider name. */
    IdentityProviderName: string;
}
/** Input to the ListIdentities action. */
export interface ListIdentitiesInput {
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
    /** The maximum number of identities to return. */
    MaxResults: number;
    /** An optional boolean parameter that allows you to hide disabled identities. If omitted, the ListIdentities API will include disabled identities in the response. */
    HideDisabled?: boolean;
    /** A pagination token. */
    NextToken?: string;
}
/** Input to the ListIdentityPools action. */
export interface ListIdentityPoolsInput {
    /** The maximum number of identities to return. */
    MaxResults: number;
    /** A pagination token. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the identity pool that the tags are assigned to. */
    ResourceArn: string;
}
/** Input to the LookupDeveloperIdentityInput action. */
export interface LookupDeveloperIdentityInput {
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
    /** A unique ID used by your backend authentication process to identify a user. Typically, a developer identity provider would issue many developer user identifiers, in keeping with the number of users. */
    DeveloperUserIdentifier?: string;
    /** A unique identifier in the format REGION:GUID. */
    IdentityId?: string;
    /** The maximum number of identities to return. */
    MaxResults?: number;
    /** A pagination token. The first call you make will have NextToken set to null. After that the service will return NextToken values as needed. For example, let's say you make a request with MaxResults se */
    NextToken?: string;
}
/** Input to the MergeDeveloperIdentities action. */
export interface MergeDeveloperIdentitiesInput {
    /** User identifier for the destination user. The value should be a DeveloperUserIdentifier. */
    DestinationUserIdentifier: string;
    /** The "domain" by which Cognito will refer to your users. This is a (pseudo) domain name that you provide while creating an identity pool. This name acts as a placeholder that allows your backend and th */
    DeveloperProviderName: string;
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
    /** User identifier for the source user. The value should be a DeveloperUserIdentifier. */
    SourceUserIdentifier: string;
}
/** Input to the SetIdentityPoolRoles action. */
export interface SetIdentityPoolRolesInput {
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
    /** The map of roles associated with this pool. For a given role, the key will be either "authenticated" or "unauthenticated" and the value will be the Role ARN. */
    Roles: Record<string, string>;
    /** How users for a specific identity provider are to mapped to roles. This is a string to RoleMapping object map. The string identifies the identity provider, for example, graph.facebook.com or cognito-i */
    RoleMappings?: Record<string, RoleMapping>;
}
export interface SetPrincipalTagAttributeMapInput {
    /** The ID of the Identity Pool you want to set attribute mappings for. */
    IdentityPoolId: string;
    /** The provider name you want to use for attribute mappings. */
    IdentityProviderName: string;
    /** You can use this operation to add principal tags. */
    PrincipalTags?: Record<string, string>;
    /** You can use this operation to use default (username and clientID) attribute mappings. */
    UseDefaults?: boolean;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the identity pool. */
    ResourceArn: string;
    /** The tags to assign to the identity pool. */
    Tags: Record<string, string>;
}
/** Input to the UnlinkDeveloperIdentity action. */
export interface UnlinkDeveloperIdentityInput {
    /** The "domain" by which Cognito will refer to your users. */
    DeveloperProviderName: string;
    /** A unique ID used by your backend authentication process to identify a user. */
    DeveloperUserIdentifier: string;
    /** A unique identifier in the format REGION:GUID. */
    IdentityId: string;
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
}
/** Input to the UnlinkIdentity action. */
export interface UnlinkIdentityInput {
    /** A unique identifier in the format REGION:GUID. */
    IdentityId: string;
    /** A set of optional name-value pairs that map provider names to provider tokens. */
    Logins: Record<string, string>;
    /** Provider names to unlink from this identity. */
    LoginsToRemove: string[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the identity pool. */
    ResourceArn: string;
    /** The keys of the tags to remove from the user pool. */
    TagKeys: string[];
}
/** An object representing an Amazon Cognito identity pool. */
export interface UpdateIdentityPoolInput {
    /** TRUE if the identity pool supports unauthenticated logins. */
    AllowUnauthenticatedIdentities: boolean;
    /** An identity pool ID in the format REGION:GUID. */
    IdentityPoolId: string;
    /** A string that you provide. */
    IdentityPoolName: string;
    /** Enables or disables the Basic (Classic) authentication flow. For more information, see Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide. */
    AllowClassicFlow?: boolean;
    /** A list representing an Amazon Cognito user pool and its client ID. */
    CognitoIdentityProviders?: CognitoIdentityProvider[];
    /** The "domain" by which Cognito will refer to your users. */
    DeveloperProviderName?: string;
    /** The tags that are assigned to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other */
    IdentityPoolTags?: Record<string, string>;
    /** The ARNs of the OpenID Connect providers. */
    OpenIdConnectProviderARNs?: string[];
    /** An array of Amazon Resource Names (ARNs) of the SAML provider for your identity pool. */
    SamlProviderARNs?: string[];
    /** Optional key:value pairs mapping provider names to provider app IDs. */
    SupportedLoginProviders?: Record<string, string>;
}
/** Cognito Identity service binding for Step Functions SDK integrations. */
export declare class CognitoIdentity {
    constructor();
    createIdentityPool<T>(params: CreateIdentityPoolInput): Promise<T>;
    deleteIdentities<T>(params: DeleteIdentitiesInput): Promise<T>;
    deleteIdentityPool<T>(params: DeleteIdentityPoolInput): Promise<T>;
    describeIdentity<T>(params: DescribeIdentityInput): Promise<T>;
    describeIdentityPool<T>(params: DescribeIdentityPoolInput): Promise<T>;
    getCredentialsForIdentity<T>(params: GetCredentialsForIdentityInput): Promise<T>;
    getId<T>(params: GetIdInput): Promise<T>;
    getIdentityPoolRoles<T>(params: GetIdentityPoolRolesInput): Promise<T>;
    getOpenIdToken<T>(params: GetOpenIdTokenInput): Promise<T>;
    getOpenIdTokenForDeveloperIdentity<T>(params: GetOpenIdTokenForDeveloperIdentityInput): Promise<T>;
    getPrincipalTagAttributeMap<T>(params: GetPrincipalTagAttributeMapInput): Promise<T>;
    listIdentities<T>(params: ListIdentitiesInput): Promise<T>;
    listIdentityPools<T>(params: ListIdentityPoolsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    lookupDeveloperIdentity<T>(params: LookupDeveloperIdentityInput): Promise<T>;
    mergeDeveloperIdentities<T>(params: MergeDeveloperIdentitiesInput): Promise<T>;
    setIdentityPoolRoles<T>(params: SetIdentityPoolRolesInput): Promise<T>;
    setPrincipalTagAttributeMap<T>(params: SetPrincipalTagAttributeMapInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    unlinkDeveloperIdentity<T>(params: UnlinkDeveloperIdentityInput): Promise<T>;
    unlinkIdentity<T>(params: UnlinkIdentityInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateIdentityPool<T>(params: UpdateIdentityPoolInput): Promise<T>;
}
//# sourceMappingURL=CognitoIdentity.d.ts.map