export interface CustomerManagedPolicyReference {
    /** The name of the IAM policy that you have configured in each account where you want to deploy your permission set. */
    Name: string;
    /** The path to the IAM policy that you have configured in each account where you want to deploy your permission set. The default is /. For more information, see Friendly names and paths in the IAM User G */
    Path?: string;
}
export interface SignInOptions {
    /** This determines how IAM Identity Center navigates the user to the target application. It can be one of the following values: APPLICATION: IAM Identity Center redirects the customer to the configured A */
    Origin: 'IDENTITY_CENTER' | 'APPLICATION';
    /** The URL that accepts authentication requests for an application. This is a required parameter if the Origin parameter is APPLICATION. */
    ApplicationUrl?: string;
}
export interface PortalOptions {
    /** A structure that describes the sign-in options for the access portal. */
    SignInOptions?: SignInOptions;
    /** Indicates whether this application is visible in the access portal. */
    Visibility?: 'ENABLED' | 'DISABLED';
}
export interface Tag {
    /** The key for the tag. */
    Key: string;
    /** The value of the tag. */
    Value: string;
}
export interface InstanceAccessControlAttributeConfiguration {
    /** Lists the attributes that are configured for ABAC in the specified IAM Identity Center instance. */
    AccessControlAttributes: any[];
}
export interface OidcJwtConfiguration {
    /** The URL that IAM Identity Center uses for OpenID Discovery. OpenID Discovery is used to obtain the information required to verify the tokens that the trusted token issuer generates. */
    IssuerUrl: string;
    /** The path of the source attribute in the JWT from the trusted token issuer. The attribute mapped by this JMESPath expression is compared against the attribute mapped by IdentityStoreAttributePath when  */
    ClaimAttributePath: string;
    /** The path of the destination attribute in a JWT from IAM Identity Center. The attribute mapped by this JMESPath expression is compared against the attribute mapped by ClaimAttributePath when a trusted  */
    IdentityStoreAttributePath: string;
    /** The method that the trusted token issuer can use to retrieve the JSON Web Key Set used to verify a JWT. */
    JwksRetrievalOption: 'OPEN_ID_DISCOVERY';
}
export interface OperationStatusFilter {
    /** Filters the list operations result based on the status attribute. */
    Status?: 'IN_PROGRESS' | 'FAILED' | 'SUCCEEDED';
}
export interface ListAccountAssignmentsFilter {
    /** The ID number of an Amazon Web Services account that filters the results in the response. */
    AccountId?: string;
}
export interface ListApplicationAssignmentsFilter {
    /** The ARN of an application. */
    ApplicationArn?: string;
}
export interface ListApplicationsFilter {
    /** An Amazon Web Services account ID number that filters the results in the response. */
    ApplicationAccount?: string;
    /** The ARN of an application provider that can filter the results in the response. */
    ApplicationProvider?: string;
}
export interface PermissionsBoundary {
    /** Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set. */
    CustomerManagedPolicyReference?: CustomerManagedPolicyReference;
    /** The Amazon Web Services managed policy ARN that you want to attach to a permission set as a permissions boundary. */
    ManagedPolicyArn?: string;
}
export interface UpdateApplicationPortalOptions {
    SignInOptions?: SignInOptions;
}
export interface EncryptionConfiguration {
    /** The type of KMS key used for encryption. */
    KeyType: 'AWS_OWNED_KMS_KEY' | 'CUSTOMER_MANAGED_KEY';
    /** The ARN of the KMS key used to encrypt data. Required when KeyType is CUSTOMER_MANAGED_KEY. Cannot be specified when KeyType is AWS_OWNED_KMS_KEY. */
    KmsKeyArn?: string;
}
export interface OidcJwtUpdateConfiguration {
    /** The path of the source attribute in the JWT from the trusted token issuer. The attribute mapped by this JMESPath expression is compared against the attribute mapped by IdentityStoreAttributePath when  */
    ClaimAttributePath?: string;
    /** The path of the destination attribute in a JWT from IAM Identity Center. The attribute mapped by this JMESPath expression is compared against the attribute mapped by ClaimAttributePath when a trusted  */
    IdentityStoreAttributePath?: string;
    /** The method that the trusted token issuer can use to retrieve the JSON Web Key Set used to verify a JWT. */
    JwksRetrievalOption?: 'OPEN_ID_DISCOVERY';
}
export interface AddRegionInput {
    /** The Amazon Resource Name (ARN) of the IAM Identity Center instance to replicate to the target Region. */
    InstanceArn: string;
    /** The name of the Amazon Web Services Region to add to the IAM Identity Center instance. The Region name must be 1-32 characters long and follow the pattern of Amazon Web Services Region names (for exam */
    RegionName: string;
}
export interface AttachCustomerManagedPolicyReferenceToPermissionSetInput {
    /** Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set. */
    CustomerManagedPolicyReference: CustomerManagedPolicyReference;
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. */
    InstanceArn: string;
    /** The ARN of the PermissionSet. */
    PermissionSetArn: string;
}
export interface AttachManagedPolicyToPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The Amazon Web Services managed policy ARN to be attached to a permission set. */
    ManagedPolicyArn: string;
    /** The ARN of the PermissionSet that the managed policy should be attached to. */
    PermissionSetArn: string;
}
export interface CreateAccountAssignmentInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the permission set that the admin wants to grant the principal access to. */
    PermissionSetArn: string;
    /** An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM  */
    PrincipalId: string;
    /** The entity type for which the assignment will be created. */
    PrincipalType: 'USER' | 'GROUP';
    /** TargetID is an Amazon Web Services account identifier, (For example, 123456789012). */
    TargetId: string;
    /** The entity type for which the assignment will be created. */
    TargetType: 'AWS_ACCOUNT';
}
export interface CreateApplicationInput {
    /** The ARN of the application provider under which the operation will run. */
    ApplicationProviderArn: string;
    /** The ARN of the instance of IAM Identity Center under which the operation will run. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the A */
    InstanceArn: string;
    /** The name of the . */
    Name: string;
    /** Specifies a unique, case-sensitive ID that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time */
    ClientToken?: string;
    /** The description of the . */
    Description?: string;
    /** A structure that describes the options for the portal associated with an application. */
    PortalOptions?: PortalOptions;
    /** Specifies whether the application is enabled or disabled. */
    Status?: 'ENABLED' | 'DISABLED';
    /** Specifies tags to be attached to the application. */
    Tags?: Tag[];
}
export interface CreateApplicationAssignmentInput {
    /** The ARN of the application for which the assignment is created. */
    ApplicationArn: string;
    /** An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM  */
    PrincipalId: string;
    /** The entity type for which the assignment will be created. */
    PrincipalType: 'USER' | 'GROUP';
}
export interface CreateInstanceInput {
    /** Specifies a unique, case-sensitive ID that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time */
    ClientToken?: string;
    /** The name of the instance of IAM Identity Center. */
    Name?: string;
    /** Specifies tags to be attached to the instance of IAM Identity Center. */
    Tags?: Tag[];
}
export interface CreateInstanceAccessControlAttributeConfigurationInput {
    /** Specifies the IAM Identity Center identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML  */
    InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration;
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. */
    InstanceArn: string;
}
export interface CreatePermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The name of the PermissionSet. */
    Name: string;
    /** The description of the PermissionSet. */
    Description?: string;
    /** Used to redirect users within the application during the federation authentication process. */
    RelayState?: string;
    /** The length of time that the application user sessions are valid in the ISO-8601 standard. */
    SessionDuration?: string;
    /** The tags to attach to the new PermissionSet. */
    Tags?: Tag[];
}
export interface CreateTrustedTokenIssuerInput {
    /** Specifies the ARN of the instance of IAM Identity Center to contain the new trusted token issuer configuration. */
    InstanceArn: string;
    /** Specifies the name of the new trusted token issuer configuration. */
    Name: string;
    /** Specifies settings that apply to the new trusted token issuer configuration. The settings that are available depend on what TrustedTokenIssuerType you specify. */
    TrustedTokenIssuerConfiguration: {
        OidcJwtConfiguration?: OidcJwtConfiguration;
    };
    /** Specifies the type of the new trusted token issuer. */
    TrustedTokenIssuerType: 'OIDC_JWT';
    /** Specifies a unique, case-sensitive ID that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time */
    ClientToken?: string;
    /** Specifies tags to be attached to the new trusted token issuer configuration. */
    Tags?: Tag[];
}
export interface DeleteAccountAssignmentInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the permission set that will be used to remove access. */
    PermissionSetArn: string;
    /** An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM  */
    PrincipalId: string;
    /** The entity type for which the assignment will be deleted. */
    PrincipalType: 'USER' | 'GROUP';
    /** TargetID is an Amazon Web Services account identifier, (For example, 123456789012). */
    TargetId: string;
    /** The entity type for which the assignment will be deleted. */
    TargetType: 'AWS_ACCOUNT';
}
export interface DeleteApplicationInput {
    /** Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference. */
    ApplicationArn: string;
}
export interface DeleteApplicationAccessScopeInput {
    /** Specifies the ARN of the application with the access scope to delete. */
    ApplicationArn: string;
    /** Specifies the name of the access scope to remove from the application. */
    Scope: string;
}
export interface DeleteApplicationAssignmentInput {
    /** Specifies the ARN of the application. */
    ApplicationArn: string;
    /** An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM  */
    PrincipalId: string;
    /** The entity type for which the assignment will be deleted. */
    PrincipalType: 'USER' | 'GROUP';
}
export interface DeleteApplicationAuthenticationMethodInput {
    /** Specifies the ARN of the application with the authentication method to delete. */
    ApplicationArn: string;
    /** Specifies the authentication method type to delete from the application. */
    AuthenticationMethodType: 'IAM';
}
export interface DeleteApplicationGrantInput {
    /** Specifies the ARN of the application with the grant to delete. */
    ApplicationArn: string;
    /** Specifies the type of grant to delete from the application. */
    GrantType: 'authorization_code' | 'refresh_token' | 'urn:ietf:params:oauth:grant-type:jwt-bearer' | 'urn:ietf:params:oauth:grant-type:token-exchange';
}
export interface DeleteInlinePolicyFromPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the permission set that will be used to remove access. */
    PermissionSetArn: string;
}
export interface DeleteInstanceInput {
    /** The ARN of the instance of IAM Identity Center under which the operation will run. */
    InstanceArn: string;
}
export interface DeleteInstanceAccessControlAttributeConfigurationInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. */
    InstanceArn: string;
}
export interface DeletePermissionsBoundaryFromPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. */
    InstanceArn: string;
    /** The ARN of the PermissionSet. */
    PermissionSetArn: string;
}
export interface DeletePermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the permission set that should be deleted. */
    PermissionSetArn: string;
}
export interface DeleteTrustedTokenIssuerInput {
    /** Specifies the ARN of the trusted token issuer configuration to delete. */
    TrustedTokenIssuerArn: string;
}
export interface DescribeAccountAssignmentCreationStatusInput {
    /** The identifier that is used to track the request operation progress. */
    AccountAssignmentCreationRequestId: string;
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
}
export interface DescribeAccountAssignmentDeletionStatusInput {
    /** The identifier that is used to track the request operation progress. */
    AccountAssignmentDeletionRequestId: string;
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
}
export interface DescribeApplicationInput {
    /** Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference. */
    ApplicationArn: string;
}
export interface DescribeApplicationAssignmentInput {
    /** Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference. */
    ApplicationArn: string;
    /** An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM  */
    PrincipalId: string;
    /** The entity type for which the assignment will be created. */
    PrincipalType: 'USER' | 'GROUP';
}
export interface DescribeApplicationProviderInput {
    /** Specifies the ARN of the application provider for which you want details. */
    ApplicationProviderArn: string;
}
export interface DescribeInstanceInput {
    /** The ARN of the instance of IAM Identity Center under which the operation will run. */
    InstanceArn: string;
}
export interface DescribeInstanceAccessControlAttributeConfigurationInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. */
    InstanceArn: string;
}
export interface DescribePermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the permission set. */
    PermissionSetArn: string;
}
export interface DescribePermissionSetProvisioningStatusInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The identifier that is provided by the ProvisionPermissionSet call to retrieve the current status of the provisioning workflow. */
    ProvisionPermissionSetRequestId: string;
}
export interface DescribeRegionInput {
    /** The Amazon Resource Name (ARN) of the IAM Identity Center instance. */
    InstanceArn: string;
    /** The name of the Amazon Web Services Region to retrieve information about. The Region name must be 1-32 characters long and follow the pattern of Amazon Web Services Region names (for example, us-east- */
    RegionName: string;
}
export interface DescribeTrustedTokenIssuerInput {
    /** Specifies the ARN of the trusted token issuer configuration that you want details about. */
    TrustedTokenIssuerArn: string;
}
export interface DetachCustomerManagedPolicyReferenceFromPermissionSetInput {
    /** Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set. */
    CustomerManagedPolicyReference: CustomerManagedPolicyReference;
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. */
    InstanceArn: string;
    /** The ARN of the PermissionSet. */
    PermissionSetArn: string;
}
export interface DetachManagedPolicyFromPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The Amazon Web Services managed policy ARN to be detached from a permission set. */
    ManagedPolicyArn: string;
    /** The ARN of the PermissionSet from which the policy should be detached. */
    PermissionSetArn: string;
}
export interface GetApplicationAccessScopeInput {
    /** Specifies the ARN of the application with the access scope that you want to retrieve. */
    ApplicationArn: string;
    /** Specifies the name of the access scope for which you want the authorized targets. */
    Scope: string;
}
export interface GetApplicationAssignmentConfigurationInput {
    /** Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference. */
    ApplicationArn: string;
}
export interface GetApplicationAuthenticationMethodInput {
    /** Specifies the ARN of the application. */
    ApplicationArn: string;
    /** Specifies the type of authentication method for which you want details. */
    AuthenticationMethodType: 'IAM';
}
export interface GetApplicationGrantInput {
    /** Specifies the ARN of the application that contains the grant. */
    ApplicationArn: string;
    /** Specifies the type of grant. */
    GrantType: 'authorization_code' | 'refresh_token' | 'urn:ietf:params:oauth:grant-type:jwt-bearer' | 'urn:ietf:params:oauth:grant-type:token-exchange';
}
export interface GetApplicationSessionConfigurationInput {
    /** The Amazon Resource Name (ARN) of the application for which to retrieve the session configuration. */
    ApplicationArn: string;
}
export interface GetInlinePolicyForPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the permission set. */
    PermissionSetArn: string;
}
export interface GetPermissionsBoundaryForPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. */
    InstanceArn: string;
    /** The ARN of the PermissionSet. */
    PermissionSetArn: string;
}
export interface ListAccountAssignmentCreationStatusInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** Filters results based on the passed attribute value. */
    Filter?: OperationStatusFilter;
    /** The maximum number of results to display for the assignment. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
}
export interface ListAccountAssignmentDeletionStatusInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** Filters results based on the passed attribute value. */
    Filter?: OperationStatusFilter;
    /** The maximum number of results to display for the assignment. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
}
export interface ListAccountAssignmentsInput {
    /** The identifier of the Amazon Web Services account from which to list the assignments. */
    AccountId: string;
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the permission set from which to list assignments. */
    PermissionSetArn: string;
    /** The maximum number of results to display for the assignment. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
}
export interface ListAccountAssignmentsForPrincipalInput {
    /** Specifies the ARN of the instance of IAM Identity Center that contains the principal. */
    InstanceArn: string;
    /** Specifies the principal for which you want to retrieve the list of account assignments. */
    PrincipalId: string;
    /** Specifies the type of the principal. */
    PrincipalType: 'USER' | 'GROUP';
    /** Specifies an Amazon Web Services account ID number. Results are filtered to only those that match this ID number. */
    Filter?: ListAccountAssignmentsFilter;
    /** Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not nul */
    MaxResults?: number;
    /** Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    NextToken?: string;
}
export interface ListAccountsForProvisionedPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the PermissionSet from which the associated Amazon Web Services accounts will be listed. */
    PermissionSetArn: string;
    /** The maximum number of results to display for the PermissionSet. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
    /** The permission set provisioning status for an Amazon Web Services account. */
    ProvisioningStatus?: 'LATEST_PERMISSION_SET_PROVISIONED' | 'LATEST_PERMISSION_SET_NOT_PROVISIONED';
}
export interface ListApplicationAccessScopesInput {
    /** Specifies the ARN of the application. */
    ApplicationArn: string;
    /** Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not nul */
    MaxResults?: number;
    /** Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    NextToken?: string;
}
export interface ListApplicationAssignmentsInput {
    /** Specifies the ARN of the application. */
    ApplicationArn: string;
    /** Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not nul */
    MaxResults?: number;
    /** Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    NextToken?: string;
}
export interface ListApplicationAssignmentsForPrincipalInput {
    /** Specifies the instance of IAM Identity Center that contains principal and applications. */
    InstanceArn: string;
    /** Specifies the unique identifier of the principal for which you want to retrieve its assignments. */
    PrincipalId: string;
    /** Specifies the type of the principal for which you want to retrieve its assignments. */
    PrincipalType: 'USER' | 'GROUP';
    /** Filters the output to include only assignments associated with the application that has the specified ARN. */
    Filter?: ListApplicationAssignmentsFilter;
    /** Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not nul */
    MaxResults?: number;
    /** Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    NextToken?: string;
}
export interface ListApplicationAuthenticationMethodsInput {
    /** Specifies the ARN of the application with the authentication methods you want to list. */
    ApplicationArn: string;
    /** Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    NextToken?: string;
}
export interface ListApplicationGrantsInput {
    /** Specifies the ARN of the application whose grants you want to list. */
    ApplicationArn: string;
    /** Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    NextToken?: string;
}
export interface ListApplicationProvidersInput {
    /** Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not nul */
    MaxResults?: number;
    /** Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    NextToken?: string;
}
export interface ListApplicationsInput {
    /** The ARN of the IAM Identity Center application under which the operation will run. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the A */
    InstanceArn: string;
    /** Filters response results. */
    Filter?: ListApplicationsFilter;
    /** Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not nul */
    MaxResults?: number;
    /** Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    NextToken?: string;
}
export interface ListCustomerManagedPolicyReferencesInPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. */
    InstanceArn: string;
    /** The ARN of the PermissionSet. */
    PermissionSetArn: string;
    /** The maximum number of results to display for the list call. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
}
export interface ListInstancesInput {
    /** The maximum number of results to display for the instance. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
}
export interface ListManagedPoliciesInPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the PermissionSet whose managed policies will be listed. */
    PermissionSetArn: string;
    /** The maximum number of results to display for the PermissionSet. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
}
export interface ListPermissionSetProvisioningStatusInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** Filters results based on the passed attribute value. */
    Filter?: OperationStatusFilter;
    /** The maximum number of results to display for the assignment. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
}
export interface ListPermissionSetsInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The maximum number of results to display for the assignment. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
}
export interface ListPermissionSetsProvisionedToAccountInput {
    /** The identifier of the Amazon Web Services account from which to list the assignments. */
    AccountId: string;
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The maximum number of results to display for the assignment. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
    /** The status object for the permission set provisioning operation. */
    ProvisioningStatus?: 'LATEST_PERMISSION_SET_PROVISIONED' | 'LATEST_PERMISSION_SET_NOT_PROVISIONED';
}
export interface ListRegionsInput {
    /** The Amazon Resource Name (ARN) of the IAM Identity Center instance. */
    InstanceArn: string;
    /** The maximum number of results to return in a single call. Default is 100. */
    MaxResults?: number;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the resource with the tags to be listed. */
    ResourceArn: string;
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn?: string;
    /** The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls. */
    NextToken?: string;
}
export interface ListTrustedTokenIssuersInput {
    /** Specifies the ARN of the instance of IAM Identity Center with the trusted token issuer configurations that you want to list. */
    InstanceArn: string;
    /** Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not nul */
    MaxResults?: number;
    /** Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    NextToken?: string;
}
export interface ProvisionPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the permission set. */
    PermissionSetArn: string;
    /** The entity type for which the assignment will be created. */
    TargetType: 'AWS_ACCOUNT' | 'ALL_PROVISIONED_ACCOUNTS';
    /** TargetID is an Amazon Web Services account identifier, (For example, 123456789012). */
    TargetId?: string;
}
export interface PutApplicationAssignmentConfigurationInput {
    /** Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference. */
    ApplicationArn: string;
    /** If AssignmentsRequired is true (default value), users don’t have access to the application unless an assignment is created using the CreateApplicationAssignment API. If false, all users have access to */
    AssignmentRequired: boolean;
}
export interface PutApplicationSessionConfigurationInput {
    /** The Amazon Resource Name (ARN) of the application for which to update the session configuration. */
    ApplicationArn: string;
    /** The status of user background sessions for the application. */
    UserBackgroundSessionApplicationStatus?: 'ENABLED' | 'DISABLED';
}
export interface PutInlinePolicyToPermissionSetInput {
    /** The inline policy to attach to a PermissionSet. */
    InlinePolicy: string;
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the permission set. */
    PermissionSetArn: string;
}
export interface PutPermissionsBoundaryToPermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. */
    InstanceArn: string;
    /** The permissions boundary that you want to attach to a PermissionSet. */
    PermissionsBoundary: PermissionsBoundary;
    /** The ARN of the PermissionSet. */
    PermissionSetArn: string;
}
export interface RemoveRegionInput {
    /** The Amazon Resource Name (ARN) of the IAM Identity Center instance. */
    InstanceArn: string;
    /** The name of the Amazon Web Services Region to remove from the IAM Identity Center instance. The Region name must be 1-32 characters long and follow the pattern of Amazon Web Services Region names (for */
    RegionName: string;
}
export interface TagResourceInput {
    /** The ARN of the resource with the tags to be listed. */
    ResourceArn: string;
    /** A set of key-value pairs that are used to manage the resource. */
    Tags: Tag[];
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn?: string;
}
export interface UntagResourceInput {
    /** The ARN of the resource with the tags to be listed. */
    ResourceArn: string;
    /** The keys of tags that are attached to the resource. */
    TagKeys: string[];
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn?: string;
}
export interface UpdateApplicationInput {
    /** Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference. */
    ApplicationArn: string;
    /** The description of the . */
    Description?: string;
    /** Specifies the updated name for the application. */
    Name?: string;
    /** A structure that describes the options for the portal associated with an application. */
    PortalOptions?: UpdateApplicationPortalOptions;
    /** Specifies whether the application is enabled or disabled. */
    Status?: 'ENABLED' | 'DISABLED';
}
export interface UpdateInstanceInput {
    /** The ARN of the instance of IAM Identity Center under which the operation will run. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the A */
    InstanceArn: string;
    /** Specifies the encryption configuration for your IAM Identity Center instance. You can use this to configure customer managed KMS keys or Amazon Web Services owned KMS keys for encrypting your instance */
    EncryptionConfiguration?: EncryptionConfiguration;
    /** Updates the instance name. */
    Name?: string;
}
export interface UpdateInstanceAccessControlAttributeConfigurationInput {
    /** Updates the attributes for your ABAC configuration. */
    InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration;
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. */
    InstanceArn: string;
}
export interface UpdatePermissionSetInput {
    /** The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in  */
    InstanceArn: string;
    /** The ARN of the permission set. */
    PermissionSetArn: string;
    /** The description of the PermissionSet. */
    Description?: string;
    /** Used to redirect users within the application during the federation authentication process. */
    RelayState?: string;
    /** The length of time that the application user sessions are valid for in the ISO-8601 standard. */
    SessionDuration?: string;
}
export interface UpdateTrustedTokenIssuerInput {
    /** Specifies the ARN of the trusted token issuer configuration that you want to update. */
    TrustedTokenIssuerArn: string;
    /** Specifies the updated name to be applied to the trusted token issuer configuration. */
    Name?: string;
    /** Specifies a structure with settings to apply to the specified trusted token issuer. The settings that you can provide are determined by the type of the trusted token issuer that you are updating. */
    TrustedTokenIssuerConfiguration?: {
        OidcJwtConfiguration?: OidcJwtUpdateConfiguration;
    };
}
/** SSO Admin service binding for Step Functions SDK integrations. */
export declare class SSOAdmin {
    constructor();
    addRegion<T>(params: AddRegionInput): Promise<T>;
    attachCustomerManagedPolicyReferenceToPermissionSet<T>(params: AttachCustomerManagedPolicyReferenceToPermissionSetInput): Promise<T>;
    attachManagedPolicyToPermissionSet<T>(params: AttachManagedPolicyToPermissionSetInput): Promise<T>;
    createAccountAssignment<T>(params: CreateAccountAssignmentInput): Promise<T>;
    createApplication<T>(params: CreateApplicationInput): Promise<T>;
    createApplicationAssignment<T>(params: CreateApplicationAssignmentInput): Promise<T>;
    createInstance<T>(params: CreateInstanceInput): Promise<T>;
    createInstanceAccessControlAttributeConfiguration<T>(params: CreateInstanceAccessControlAttributeConfigurationInput): Promise<T>;
    createPermissionSet<T>(params: CreatePermissionSetInput): Promise<T>;
    createTrustedTokenIssuer<T>(params: CreateTrustedTokenIssuerInput): Promise<T>;
    deleteAccountAssignment<T>(params: DeleteAccountAssignmentInput): Promise<T>;
    deleteApplication<T>(params: DeleteApplicationInput): Promise<T>;
    deleteApplicationAccessScope<T>(params: DeleteApplicationAccessScopeInput): Promise<T>;
    deleteApplicationAssignment<T>(params: DeleteApplicationAssignmentInput): Promise<T>;
    deleteApplicationAuthenticationMethod<T>(params: DeleteApplicationAuthenticationMethodInput): Promise<T>;
    deleteApplicationGrant<T>(params: DeleteApplicationGrantInput): Promise<T>;
    deleteInlinePolicyFromPermissionSet<T>(params: DeleteInlinePolicyFromPermissionSetInput): Promise<T>;
    deleteInstance<T>(params: DeleteInstanceInput): Promise<T>;
    deleteInstanceAccessControlAttributeConfiguration<T>(params: DeleteInstanceAccessControlAttributeConfigurationInput): Promise<T>;
    deletePermissionsBoundaryFromPermissionSet<T>(params: DeletePermissionsBoundaryFromPermissionSetInput): Promise<T>;
    deletePermissionSet<T>(params: DeletePermissionSetInput): Promise<T>;
    deleteTrustedTokenIssuer<T>(params: DeleteTrustedTokenIssuerInput): Promise<T>;
    describeAccountAssignmentCreationStatus<T>(params: DescribeAccountAssignmentCreationStatusInput): Promise<T>;
    describeAccountAssignmentDeletionStatus<T>(params: DescribeAccountAssignmentDeletionStatusInput): Promise<T>;
    describeApplication<T>(params: DescribeApplicationInput): Promise<T>;
    describeApplicationAssignment<T>(params: DescribeApplicationAssignmentInput): Promise<T>;
    describeApplicationProvider<T>(params: DescribeApplicationProviderInput): Promise<T>;
    describeInstance<T>(params: DescribeInstanceInput): Promise<T>;
    describeInstanceAccessControlAttributeConfiguration<T>(params: DescribeInstanceAccessControlAttributeConfigurationInput): Promise<T>;
    describePermissionSet<T>(params: DescribePermissionSetInput): Promise<T>;
    describePermissionSetProvisioningStatus<T>(params: DescribePermissionSetProvisioningStatusInput): Promise<T>;
    describeRegion<T>(params: DescribeRegionInput): Promise<T>;
    describeTrustedTokenIssuer<T>(params: DescribeTrustedTokenIssuerInput): Promise<T>;
    detachCustomerManagedPolicyReferenceFromPermissionSet<T>(params: DetachCustomerManagedPolicyReferenceFromPermissionSetInput): Promise<T>;
    detachManagedPolicyFromPermissionSet<T>(params: DetachManagedPolicyFromPermissionSetInput): Promise<T>;
    getApplicationAccessScope<T>(params: GetApplicationAccessScopeInput): Promise<T>;
    getApplicationAssignmentConfiguration<T>(params: GetApplicationAssignmentConfigurationInput): Promise<T>;
    getApplicationAuthenticationMethod<T>(params: GetApplicationAuthenticationMethodInput): Promise<T>;
    getApplicationGrant<T>(params: GetApplicationGrantInput): Promise<T>;
    getApplicationSessionConfiguration<T>(params: GetApplicationSessionConfigurationInput): Promise<T>;
    getInlinePolicyForPermissionSet<T>(params: GetInlinePolicyForPermissionSetInput): Promise<T>;
    getPermissionsBoundaryForPermissionSet<T>(params: GetPermissionsBoundaryForPermissionSetInput): Promise<T>;
    listAccountAssignmentCreationStatus<T>(params: ListAccountAssignmentCreationStatusInput): Promise<T>;
    listAccountAssignmentDeletionStatus<T>(params: ListAccountAssignmentDeletionStatusInput): Promise<T>;
    listAccountAssignments<T>(params: ListAccountAssignmentsInput): Promise<T>;
    listAccountAssignmentsForPrincipal<T>(params: ListAccountAssignmentsForPrincipalInput): Promise<T>;
    listAccountsForProvisionedPermissionSet<T>(params: ListAccountsForProvisionedPermissionSetInput): Promise<T>;
    listApplicationAccessScopes<T>(params: ListApplicationAccessScopesInput): Promise<T>;
    listApplicationAssignments<T>(params: ListApplicationAssignmentsInput): Promise<T>;
    listApplicationAssignmentsForPrincipal<T>(params: ListApplicationAssignmentsForPrincipalInput): Promise<T>;
    listApplicationAuthenticationMethods<T>(params: ListApplicationAuthenticationMethodsInput): Promise<T>;
    listApplicationGrants<T>(params: ListApplicationGrantsInput): Promise<T>;
    listApplicationProviders<T>(params: ListApplicationProvidersInput): Promise<T>;
    listApplications<T>(params: ListApplicationsInput): Promise<T>;
    listCustomerManagedPolicyReferencesInPermissionSet<T>(params: ListCustomerManagedPolicyReferencesInPermissionSetInput): Promise<T>;
    listInstances<T>(params: ListInstancesInput): Promise<T>;
    listManagedPoliciesInPermissionSet<T>(params: ListManagedPoliciesInPermissionSetInput): Promise<T>;
    listPermissionSetProvisioningStatus<T>(params: ListPermissionSetProvisioningStatusInput): Promise<T>;
    listPermissionSets<T>(params: ListPermissionSetsInput): Promise<T>;
    listPermissionSetsProvisionedToAccount<T>(params: ListPermissionSetsProvisionedToAccountInput): Promise<T>;
    listRegions<T>(params: ListRegionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTrustedTokenIssuers<T>(params: ListTrustedTokenIssuersInput): Promise<T>;
    provisionPermissionSet<T>(params: ProvisionPermissionSetInput): Promise<T>;
    putApplicationAssignmentConfiguration<T>(params: PutApplicationAssignmentConfigurationInput): Promise<T>;
    putApplicationSessionConfiguration<T>(params: PutApplicationSessionConfigurationInput): Promise<T>;
    putInlinePolicyToPermissionSet<T>(params: PutInlinePolicyToPermissionSetInput): Promise<T>;
    putPermissionsBoundaryToPermissionSet<T>(params: PutPermissionsBoundaryToPermissionSetInput): Promise<T>;
    removeRegion<T>(params: RemoveRegionInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateApplication<T>(params: UpdateApplicationInput): Promise<T>;
    updateInstance<T>(params: UpdateInstanceInput): Promise<T>;
    updateInstanceAccessControlAttributeConfiguration<T>(params: UpdateInstanceAccessControlAttributeConfigurationInput): Promise<T>;
    updatePermissionSet<T>(params: UpdatePermissionSetInput): Promise<T>;
    updateTrustedTokenIssuer<T>(params: UpdateTrustedTokenIssuerInput): Promise<T>;
}
//# sourceMappingURL=SSOAdmin.d.ts.map