import IAM, { AttachedPolicy, Role, RoleDetail } from 'aws-sdk/clients/iam';
import { Config } from 'aws-sdk/lib/config';
import { TagMap } from '../../types';
export interface RawAwsIamRole extends Omit<Role, 'Tags'> {
    ManagedPolicies: AttachedPolicy[];
    region: string;
    Tags?: TagMap;
    PermissionsBoundaryArn?: string;
    InlinePolicies: Array<{
        name: string;
        document: string;
    }>;
}
export interface RoleInlinePolicyMap {
    [key: string]: Array<{
        name: string;
        document: string;
    }>;
}
export declare const getAccountAuthorizationDetails: (iam: IAM, marker?: string) => Promise<RoleDetail[]>;
export declare const listIamRoles: ({ iam, marker, roleInlinePolicyMap, }: {
    iam: IAM;
    marker?: string;
    roleInlinePolicyMap: RoleInlinePolicyMap;
}) => Promise<RawAwsIamRole[]>;
declare const _default: ({ config, }: {
    regions: string;
    config: Config;
}) => Promise<{
    [region: string]: RawAwsIamRole[];
}>;
/**
 * IAM Role
 */
export default _default;
