import { Request, IAM as AWSIAM } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSIAM> = AWSIAM[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSIAM, Extras> = AWSIAM[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class IAM {
    private readonly client;
    private constructor();
    readonly signingRegion = "us-east-1";
    readonly service: "iam";
    readonly global: true;
    readonly category: "Security, Identity & Compliance";
    readonly topLevelCalls: readonly ["getAccountAuthorizationDetails", "listAccessKeys", "listAccountAliases", "listGroups", "listInstanceProfiles", "listMFADevices", "listPolicies", "listRoles", "listSAMLProviders", "listSSHPublicKeys", "listServerCertificates", "listSigningCertificates", "listUsers", "listVirtualMFADevices"];
    addClientIDToOpenIDConnectProvider: (params: ParamsFrom<'addClientIDToOpenIDConnectProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'addClientIDToOpenIDConnectProvider'>>;
    addRoleToInstanceProfile: (params: ParamsFrom<'addRoleToInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'addRoleToInstanceProfile'>>;
    addUserToGroup: (params: ParamsFrom<'addUserToGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'addUserToGroup'>>;
    attachGroupPolicy: (params: ParamsFrom<'attachGroupPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'attachGroupPolicy'>>;
    attachRolePolicy: (params: ParamsFrom<'attachRolePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'attachRolePolicy'>>;
    attachUserPolicy: (params: ParamsFrom<'attachUserPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'attachUserPolicy'>>;
    changePassword: (params: ParamsFrom<'changePassword', Record<string, never>>) => Promise<ReturnTypeFrom<'changePassword'>>;
    createAccessKey: (params: ParamsFrom<'createAccessKey', Record<string, never>>) => Promise<ReturnTypeFrom<'createAccessKey'>>;
    createAccountAlias: (params: ParamsFrom<'createAccountAlias', Record<string, never>>) => Promise<ReturnTypeFrom<'createAccountAlias'>>;
    createGroup: (params: ParamsFrom<'createGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createGroup'>>;
    createInstanceProfile: (params: ParamsFrom<'createInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'createInstanceProfile'>>;
    createLoginProfile: (params: ParamsFrom<'createLoginProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'createLoginProfile'>>;
    createOpenIDConnectProvider: (params: ParamsFrom<'createOpenIDConnectProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'createOpenIDConnectProvider'>>;
    createPolicy: (params: ParamsFrom<'createPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'createPolicy'>>;
    createPolicyVersion: (params: ParamsFrom<'createPolicyVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'createPolicyVersion'>>;
    createRole: (params: ParamsFrom<'createRole', Record<string, never>>) => Promise<ReturnTypeFrom<'createRole'>>;
    createSAMLProvider: (params: ParamsFrom<'createSAMLProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'createSAMLProvider'>>;
    createServiceLinkedRole: (params: ParamsFrom<'createServiceLinkedRole', Record<string, never>>) => Promise<ReturnTypeFrom<'createServiceLinkedRole'>>;
    createServiceSpecificCredential: (params: ParamsFrom<'createServiceSpecificCredential', Record<string, never>>) => Promise<ReturnTypeFrom<'createServiceSpecificCredential'>>;
    createUser: (params: ParamsFrom<'createUser', Record<string, never>>) => Promise<ReturnTypeFrom<'createUser'>>;
    createVirtualMFADevice: (params: ParamsFrom<'createVirtualMFADevice', Record<string, never>>) => Promise<ReturnTypeFrom<'createVirtualMFADevice'>>;
    deactivateMFADevice: (params: ParamsFrom<'deactivateMFADevice', Record<string, never>>) => Promise<ReturnTypeFrom<'deactivateMFADevice'>>;
    deleteAccessKey: (params: ParamsFrom<'deleteAccessKey', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAccessKey'>>;
    deleteAccountAlias: (params: ParamsFrom<'deleteAccountAlias', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAccountAlias'>>;
    deleteAccountPasswordPolicy: (params: ParamsFrom<'deleteAccountPasswordPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAccountPasswordPolicy'>>;
    deleteGroup: (params: ParamsFrom<'deleteGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteGroup'>>;
    deleteGroupPolicy: (params: ParamsFrom<'deleteGroupPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteGroupPolicy'>>;
    deleteInstanceProfile: (params: ParamsFrom<'deleteInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteInstanceProfile'>>;
    deleteLoginProfile: (params: ParamsFrom<'deleteLoginProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteLoginProfile'>>;
    deleteOpenIDConnectProvider: (params: ParamsFrom<'deleteOpenIDConnectProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteOpenIDConnectProvider'>>;
    deletePolicy: (params: ParamsFrom<'deletePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePolicy'>>;
    deletePolicyVersion: (params: ParamsFrom<'deletePolicyVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePolicyVersion'>>;
    deleteRole: (params: ParamsFrom<'deleteRole', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRole'>>;
    deleteRolePermissionsBoundary: (params: ParamsFrom<'deleteRolePermissionsBoundary', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRolePermissionsBoundary'>>;
    deleteRolePolicy: (params: ParamsFrom<'deleteRolePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRolePolicy'>>;
    deleteSAMLProvider: (params: ParamsFrom<'deleteSAMLProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSAMLProvider'>>;
    deleteSSHPublicKey: (params: ParamsFrom<'deleteSSHPublicKey', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSSHPublicKey'>>;
    deleteServerCertificate: (params: ParamsFrom<'deleteServerCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteServerCertificate'>>;
    deleteServiceLinkedRole: (params: ParamsFrom<'deleteServiceLinkedRole', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteServiceLinkedRole'>>;
    deleteServiceSpecificCredential: (params: ParamsFrom<'deleteServiceSpecificCredential', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteServiceSpecificCredential'>>;
    deleteSigningCertificate: (params: ParamsFrom<'deleteSigningCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSigningCertificate'>>;
    deleteUser: (params: ParamsFrom<'deleteUser', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteUser'>>;
    deleteUserPermissionsBoundary: (params: ParamsFrom<'deleteUserPermissionsBoundary', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteUserPermissionsBoundary'>>;
    deleteUserPolicy: (params: ParamsFrom<'deleteUserPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteUserPolicy'>>;
    deleteVirtualMFADevice: (params: ParamsFrom<'deleteVirtualMFADevice', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteVirtualMFADevice'>>;
    detachGroupPolicy: (params: ParamsFrom<'detachGroupPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'detachGroupPolicy'>>;
    detachRolePolicy: (params: ParamsFrom<'detachRolePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'detachRolePolicy'>>;
    detachUserPolicy: (params: ParamsFrom<'detachUserPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'detachUserPolicy'>>;
    enableMFADevice: (params: ParamsFrom<'enableMFADevice', Record<string, never>>) => Promise<ReturnTypeFrom<'enableMFADevice'>>;
    generateCredentialReport: (params: ParamsFrom<'generateCredentialReport', Record<string, never>>) => Promise<ReturnTypeFrom<'generateCredentialReport'>>;
    generateOrganizationsAccessReport: (params: ParamsFrom<'generateOrganizationsAccessReport', Record<string, never>>) => Promise<ReturnTypeFrom<'generateOrganizationsAccessReport'>>;
    generateServiceLastAccessedDetails: (params: ParamsFrom<'generateServiceLastAccessedDetails', Record<string, never>>) => Promise<ReturnTypeFrom<'generateServiceLastAccessedDetails'>>;
    getAccessKeyLastUsed: (params: ParamsFrom<'getAccessKeyLastUsed', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccessKeyLastUsed'>>;
    getAccountAuthorizationDetails: (params: ParamsFrom<'getAccountAuthorizationDetails', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccountAuthorizationDetails'>>;
    getAccountPasswordPolicy: (params: ParamsFrom<'getAccountPasswordPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccountPasswordPolicy'>>;
    getAccountSummary: (params: ParamsFrom<'getAccountSummary', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccountSummary'>>;
    getContextKeysForCustomPolicy: (params: ParamsFrom<'getContextKeysForCustomPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getContextKeysForCustomPolicy'>>;
    getContextKeysForPrincipalPolicy: (params: ParamsFrom<'getContextKeysForPrincipalPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getContextKeysForPrincipalPolicy'>>;
    getCredentialReport: (params: ParamsFrom<'getCredentialReport', Record<string, never>>) => Promise<ReturnTypeFrom<'getCredentialReport'>>;
    getGroup(params: {
        [K in keyof ParamsFrom<'getGroup', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getGroup', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getGroup'>]-?: ReturnTypeFrom<'getGroup'>[K];
        }['Users'];
    }>;
    getGroupPolicy: (params: ParamsFrom<'getGroupPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getGroupPolicy'>>;
    getInstanceProfile: (params: ParamsFrom<'getInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'getInstanceProfile'>>;
    getLoginProfile: (params: ParamsFrom<'getLoginProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'getLoginProfile'>>;
    getOpenIDConnectProvider: (params: ParamsFrom<'getOpenIDConnectProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'getOpenIDConnectProvider'>>;
    getOrganizationsAccessReport: (params: ParamsFrom<'getOrganizationsAccessReport', Record<string, never>>) => Promise<ReturnTypeFrom<'getOrganizationsAccessReport'>>;
    getPolicy: (params: ParamsFrom<'getPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getPolicy'>>;
    getPolicyVersion: (params: ParamsFrom<'getPolicyVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'getPolicyVersion'>>;
    getRole: (params: ParamsFrom<'getRole', Record<string, never>>) => Promise<ReturnTypeFrom<'getRole'>>;
    getRolePolicy: (params: ParamsFrom<'getRolePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getRolePolicy'>>;
    getSAMLProvider: (params: ParamsFrom<'getSAMLProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'getSAMLProvider'>>;
    getSSHPublicKey: (params: ParamsFrom<'getSSHPublicKey', Record<string, never>>) => Promise<ReturnTypeFrom<'getSSHPublicKey'>>;
    getServerCertificate: (params: ParamsFrom<'getServerCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'getServerCertificate'>>;
    getServiceLastAccessedDetails: (params: ParamsFrom<'getServiceLastAccessedDetails', Record<string, never>>) => Promise<ReturnTypeFrom<'getServiceLastAccessedDetails'>>;
    getServiceLastAccessedDetailsWithEntities: (params: ParamsFrom<'getServiceLastAccessedDetailsWithEntities', Record<string, never>>) => Promise<ReturnTypeFrom<'getServiceLastAccessedDetailsWithEntities'>>;
    getServiceLinkedRoleDeletionStatus: (params: ParamsFrom<'getServiceLinkedRoleDeletionStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'getServiceLinkedRoleDeletionStatus'>>;
    getUser: (params: ParamsFrom<'getUser', Record<string, never>>) => Promise<ReturnTypeFrom<'getUser'>>;
    getUserPolicy: (params: ParamsFrom<'getUserPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getUserPolicy'>>;
    listAccessKeys(params: {
        [K in keyof ParamsFrom<'listAccessKeys', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAccessKeys', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccessKeys'>]-?: ReturnTypeFrom<'listAccessKeys'>[K];
        }['AccessKeyMetadata'];
    }>;
    listAccountAliases(params: {
        [K in keyof ParamsFrom<'listAccountAliases', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAccountAliases', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccountAliases'>]-?: ReturnTypeFrom<'listAccountAliases'>[K];
        }['AccountAliases'];
    }>;
    listAttachedGroupPolicies(params: {
        [K in keyof ParamsFrom<'listAttachedGroupPolicies', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAttachedGroupPolicies', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAttachedGroupPolicies'>]-?: ReturnTypeFrom<'listAttachedGroupPolicies'>[K];
        }['AttachedPolicies'];
    }>;
    listAttachedRolePolicies(params: {
        [K in keyof ParamsFrom<'listAttachedRolePolicies', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAttachedRolePolicies', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAttachedRolePolicies'>]-?: ReturnTypeFrom<'listAttachedRolePolicies'>[K];
        }['AttachedPolicies'];
    }>;
    listAttachedUserPolicies(params: {
        [K in keyof ParamsFrom<'listAttachedUserPolicies', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAttachedUserPolicies', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAttachedUserPolicies'>]-?: ReturnTypeFrom<'listAttachedUserPolicies'>[K];
        }['AttachedPolicies'];
    }>;
    listEntitiesForPolicy: (params: ParamsFrom<'listEntitiesForPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'listEntitiesForPolicy'>>;
    listGroupPolicies(params: {
        [K in keyof ParamsFrom<'listGroupPolicies', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listGroupPolicies', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listGroupPolicies'>]-?: ReturnTypeFrom<'listGroupPolicies'>[K];
        }['PolicyNames'];
    }>;
    listGroups(params: {
        [K in keyof ParamsFrom<'listGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listGroups'>]-?: ReturnTypeFrom<'listGroups'>[K];
        }['Groups'];
    }>;
    listGroupsForUser(params: {
        [K in keyof ParamsFrom<'listGroupsForUser', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listGroupsForUser', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listGroupsForUser'>]-?: ReturnTypeFrom<'listGroupsForUser'>[K];
        }['Groups'];
    }>;
    listInstanceProfileTags: (params: ParamsFrom<'listInstanceProfileTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listInstanceProfileTags'>>;
    listInstanceProfiles(params: {
        [K in keyof ParamsFrom<'listInstanceProfiles', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listInstanceProfiles', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listInstanceProfiles'>]-?: ReturnTypeFrom<'listInstanceProfiles'>[K];
        }['InstanceProfiles'];
    }>;
    listInstanceProfilesForRole(params: {
        [K in keyof ParamsFrom<'listInstanceProfilesForRole', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listInstanceProfilesForRole', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listInstanceProfilesForRole'>]-?: ReturnTypeFrom<'listInstanceProfilesForRole'>[K];
        }['InstanceProfiles'];
    }>;
    listMFADeviceTags: (params: ParamsFrom<'listMFADeviceTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listMFADeviceTags'>>;
    listMFADevices(params: {
        [K in keyof ParamsFrom<'listMFADevices', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listMFADevices', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listMFADevices'>]-?: ReturnTypeFrom<'listMFADevices'>[K];
        }['MFADevices'];
    }>;
    listOpenIDConnectProviderTags: (params: ParamsFrom<'listOpenIDConnectProviderTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listOpenIDConnectProviderTags'>>;
    listOpenIDConnectProviders: (params: ParamsFrom<'listOpenIDConnectProviders', Record<string, never>>) => Promise<ReturnTypeFrom<'listOpenIDConnectProviders'>>;
    listPolicies(params: {
        [K in keyof ParamsFrom<'listPolicies', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPolicies', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPolicies'>]-?: ReturnTypeFrom<'listPolicies'>[K];
        }['Policies'];
    }>;
    listPoliciesGrantingServiceAccess: (params: ParamsFrom<'listPoliciesGrantingServiceAccess', Record<string, never>>) => Promise<ReturnTypeFrom<'listPoliciesGrantingServiceAccess'>>;
    listPolicyTags: (params: ParamsFrom<'listPolicyTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listPolicyTags'>>;
    listPolicyVersions(params: {
        [K in keyof ParamsFrom<'listPolicyVersions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPolicyVersions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPolicyVersions'>]-?: ReturnTypeFrom<'listPolicyVersions'>[K];
        }['Versions'];
    }>;
    listRolePolicies(params: {
        [K in keyof ParamsFrom<'listRolePolicies', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listRolePolicies', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRolePolicies'>]-?: ReturnTypeFrom<'listRolePolicies'>[K];
        }['PolicyNames'];
    }>;
    listRoleTags: (params: ParamsFrom<'listRoleTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listRoleTags'>>;
    listRoles(params: {
        [K in keyof ParamsFrom<'listRoles', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listRoles', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRoles'>]-?: ReturnTypeFrom<'listRoles'>[K];
        }['Roles'];
    }>;
    listSAMLProviderTags: (params: ParamsFrom<'listSAMLProviderTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listSAMLProviderTags'>>;
    listSAMLProviders: (params: ParamsFrom<'listSAMLProviders', Record<string, never>>) => Promise<ReturnTypeFrom<'listSAMLProviders'>>;
    listSSHPublicKeys(params: {
        [K in keyof ParamsFrom<'listSSHPublicKeys', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listSSHPublicKeys', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSSHPublicKeys'>]-?: ReturnTypeFrom<'listSSHPublicKeys'>[K];
        }['SSHPublicKeys'];
    }>;
    listServerCertificateTags: (params: ParamsFrom<'listServerCertificateTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listServerCertificateTags'>>;
    listServerCertificates(params: {
        [K in keyof ParamsFrom<'listServerCertificates', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listServerCertificates', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listServerCertificates'>]-?: ReturnTypeFrom<'listServerCertificates'>[K];
        }['ServerCertificateMetadataList'];
    }>;
    listServiceSpecificCredentials: (params: ParamsFrom<'listServiceSpecificCredentials', Record<string, never>>) => Promise<ReturnTypeFrom<'listServiceSpecificCredentials'>>;
    listSigningCertificates(params: {
        [K in keyof ParamsFrom<'listSigningCertificates', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listSigningCertificates', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSigningCertificates'>]-?: ReturnTypeFrom<'listSigningCertificates'>[K];
        }['Certificates'];
    }>;
    listUserPolicies(params: {
        [K in keyof ParamsFrom<'listUserPolicies', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listUserPolicies', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listUserPolicies'>]-?: ReturnTypeFrom<'listUserPolicies'>[K];
        }['PolicyNames'];
    }>;
    listUserTags(params: {
        [K in keyof ParamsFrom<'listUserTags', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listUserTags', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listUserTags'>]-?: ReturnTypeFrom<'listUserTags'>[K];
        }['Tags'];
    }>;
    listUsers(params: {
        [K in keyof ParamsFrom<'listUsers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listUsers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listUsers'>]-?: ReturnTypeFrom<'listUsers'>[K];
        }['Users'];
    }>;
    listVirtualMFADevices(params: {
        [K in keyof ParamsFrom<'listVirtualMFADevices', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listVirtualMFADevices', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listVirtualMFADevices'>]-?: ReturnTypeFrom<'listVirtualMFADevices'>[K];
        }['VirtualMFADevices'];
    }>;
    putGroupPolicy: (params: ParamsFrom<'putGroupPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putGroupPolicy'>>;
    putRolePermissionsBoundary: (params: ParamsFrom<'putRolePermissionsBoundary', Record<string, never>>) => Promise<ReturnTypeFrom<'putRolePermissionsBoundary'>>;
    putRolePolicy: (params: ParamsFrom<'putRolePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putRolePolicy'>>;
    putUserPermissionsBoundary: (params: ParamsFrom<'putUserPermissionsBoundary', Record<string, never>>) => Promise<ReturnTypeFrom<'putUserPermissionsBoundary'>>;
    putUserPolicy: (params: ParamsFrom<'putUserPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putUserPolicy'>>;
    removeClientIDFromOpenIDConnectProvider: (params: ParamsFrom<'removeClientIDFromOpenIDConnectProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'removeClientIDFromOpenIDConnectProvider'>>;
    removeRoleFromInstanceProfile: (params: ParamsFrom<'removeRoleFromInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'removeRoleFromInstanceProfile'>>;
    removeUserFromGroup: (params: ParamsFrom<'removeUserFromGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'removeUserFromGroup'>>;
    resetServiceSpecificCredential: (params: ParamsFrom<'resetServiceSpecificCredential', Record<string, never>>) => Promise<ReturnTypeFrom<'resetServiceSpecificCredential'>>;
    resyncMFADevice: (params: ParamsFrom<'resyncMFADevice', Record<string, never>>) => Promise<ReturnTypeFrom<'resyncMFADevice'>>;
    setDefaultPolicyVersion: (params: ParamsFrom<'setDefaultPolicyVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'setDefaultPolicyVersion'>>;
    setSecurityTokenServicePreferences: (params: ParamsFrom<'setSecurityTokenServicePreferences', Record<string, never>>) => Promise<ReturnTypeFrom<'setSecurityTokenServicePreferences'>>;
    simulateCustomPolicy(params: {
        [K in keyof ParamsFrom<'simulateCustomPolicy', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'simulateCustomPolicy', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'simulateCustomPolicy'>]-?: ReturnTypeFrom<'simulateCustomPolicy'>[K];
        }['EvaluationResults'];
    }>;
    simulatePrincipalPolicy(params: {
        [K in keyof ParamsFrom<'simulatePrincipalPolicy', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'simulatePrincipalPolicy', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'simulatePrincipalPolicy'>]-?: ReturnTypeFrom<'simulatePrincipalPolicy'>[K];
        }['EvaluationResults'];
    }>;
    tagInstanceProfile: (params: ParamsFrom<'tagInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'tagInstanceProfile'>>;
    tagMFADevice: (params: ParamsFrom<'tagMFADevice', Record<string, never>>) => Promise<ReturnTypeFrom<'tagMFADevice'>>;
    tagOpenIDConnectProvider: (params: ParamsFrom<'tagOpenIDConnectProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'tagOpenIDConnectProvider'>>;
    tagPolicy: (params: ParamsFrom<'tagPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'tagPolicy'>>;
    tagRole: (params: ParamsFrom<'tagRole', Record<string, never>>) => Promise<ReturnTypeFrom<'tagRole'>>;
    tagSAMLProvider: (params: ParamsFrom<'tagSAMLProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'tagSAMLProvider'>>;
    tagServerCertificate: (params: ParamsFrom<'tagServerCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'tagServerCertificate'>>;
    tagUser: (params: ParamsFrom<'tagUser', Record<string, never>>) => Promise<ReturnTypeFrom<'tagUser'>>;
    untagInstanceProfile: (params: ParamsFrom<'untagInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'untagInstanceProfile'>>;
    untagMFADevice: (params: ParamsFrom<'untagMFADevice', Record<string, never>>) => Promise<ReturnTypeFrom<'untagMFADevice'>>;
    untagOpenIDConnectProvider: (params: ParamsFrom<'untagOpenIDConnectProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'untagOpenIDConnectProvider'>>;
    untagPolicy: (params: ParamsFrom<'untagPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'untagPolicy'>>;
    untagRole: (params: ParamsFrom<'untagRole', Record<string, never>>) => Promise<ReturnTypeFrom<'untagRole'>>;
    untagSAMLProvider: (params: ParamsFrom<'untagSAMLProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'untagSAMLProvider'>>;
    untagServerCertificate: (params: ParamsFrom<'untagServerCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'untagServerCertificate'>>;
    untagUser: (params: ParamsFrom<'untagUser', Record<string, never>>) => Promise<ReturnTypeFrom<'untagUser'>>;
    updateAccessKey: (params: ParamsFrom<'updateAccessKey', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAccessKey'>>;
    updateAccountPasswordPolicy: (params: ParamsFrom<'updateAccountPasswordPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAccountPasswordPolicy'>>;
    updateAssumeRolePolicy: (params: ParamsFrom<'updateAssumeRolePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAssumeRolePolicy'>>;
    updateGroup: (params: ParamsFrom<'updateGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateGroup'>>;
    updateLoginProfile: (params: ParamsFrom<'updateLoginProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'updateLoginProfile'>>;
    updateOpenIDConnectProviderThumbprint: (params: ParamsFrom<'updateOpenIDConnectProviderThumbprint', Record<string, never>>) => Promise<ReturnTypeFrom<'updateOpenIDConnectProviderThumbprint'>>;
    updateRole: (params: ParamsFrom<'updateRole', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRole'>>;
    updateRoleDescription: (params: ParamsFrom<'updateRoleDescription', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRoleDescription'>>;
    updateSAMLProvider: (params: ParamsFrom<'updateSAMLProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'updateSAMLProvider'>>;
    updateSSHPublicKey: (params: ParamsFrom<'updateSSHPublicKey', Record<string, never>>) => Promise<ReturnTypeFrom<'updateSSHPublicKey'>>;
    updateServerCertificate: (params: ParamsFrom<'updateServerCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'updateServerCertificate'>>;
    updateServiceSpecificCredential: (params: ParamsFrom<'updateServiceSpecificCredential', Record<string, never>>) => Promise<ReturnTypeFrom<'updateServiceSpecificCredential'>>;
    updateSigningCertificate: (params: ParamsFrom<'updateSigningCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'updateSigningCertificate'>>;
    updateUser: (params: ParamsFrom<'updateUser', Record<string, never>>) => Promise<ReturnTypeFrom<'updateUser'>>;
    uploadSSHPublicKey: (params: ParamsFrom<'uploadSSHPublicKey', Record<string, never>>) => Promise<ReturnTypeFrom<'uploadSSHPublicKey'>>;
    uploadServerCertificate: (params: ParamsFrom<'uploadServerCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'uploadServerCertificate'>>;
    uploadSigningCertificate: (params: ParamsFrom<'uploadSigningCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'uploadSigningCertificate'>>;
    static fromClient(client: AWSIAM): IAM;
    static client(options?: AWSIAM.Types.ClientConfiguration): IAM;
}
export {};
