import type { Arn } from "../../CustomTypes/Arn";
import type { AwsResourceCommon, CloudFormationTags } from "../common";
import type { CloudFormationValue } from "../IntrinsicFunctions";
import type { IamPolicyDocument } from "../PolicyDocument";
export declare type RoleType = 'AWS::IAM::Role';
export interface Role extends AwsResourceCommon {
    Type: RoleType;
    Properties: {
        AssumeRolePolicyDocument: IamPolicyDocument;
        ManagedPolicyArns?: CloudFormationValue<Arn>[];
        MaxSessionDuration?: number;
        Path?: string;
        PermissionsBoundary?: string;
        Policies?: AwsIamPolicy[];
        RoleName?: string;
        Tags?: CloudFormationTags;
    };
}
export interface AwsIamPolicy {
    PolicyName: string;
    PolicyDocument: IamPolicyDocument;
}
