import * as core from "@terrascript/core";
export interface InlinePolicyArgs extends core.SchemaArgs {
    name?: string | core.StringOut;
    policy?: string | core.StringOut;
}
export declare class InlinePolicy extends core.Schema<InlinePolicyArgs> {
    name?: string | core.StringOut;
    policy?: string | core.StringOut;
}
export interface RoleArgs extends core.ResourceArgs {
    assumeRolePolicy: string | core.StringOut;
    description?: string | core.StringOut;
    forceDetachPolicies?: boolean | core.BooleanOut;
    inlinePolicy?: core.Array<InlinePolicy> | core.ArrayOut<InlinePolicy>;
    managedPolicyArns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    maxSessionDuration?: number | core.NumberOut;
    name?: string | core.StringOut;
    namePrefix?: string | core.StringOut;
    path?: string | core.StringOut;
    permissionsBoundary?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Role extends core.Resource<RoleArgs> {
    arn: string | core.StringOut;
    assumeRolePolicy: string | core.StringOut;
    createDate: string | core.StringOut;
    description?: string | core.StringOut;
    forceDetachPolicies?: boolean | core.BooleanOut;
    id: string | core.StringOut;
    inlinePolicy?: core.Array<InlinePolicy> | core.ArrayOut<InlinePolicy>;
    managedPolicyArns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    maxSessionDuration?: number | core.NumberOut;
    name?: string | core.StringOut;
    namePrefix?: string | core.StringOut;
    path?: string | core.StringOut;
    permissionsBoundary?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    uniqueId: string | core.StringOut;
    constructor(name: string, args?: RoleArgs);
    getNamespace(): string;
}
//# sourceMappingURL=role.d.ts.map