import * as core from "@terrascript/core";
export interface MappingRuleArgs extends core.SchemaArgs {
    claim: string | core.StringOut;
    matchType: string | core.StringOut;
    roleArn: string | core.StringOut;
    value: string | core.StringOut;
}
export declare class MappingRule extends core.Schema<MappingRuleArgs> {
    claim: string | core.StringOut;
    matchType: string | core.StringOut;
    roleArn: string | core.StringOut;
    value: string | core.StringOut;
}
export interface RoleMappingArgs extends core.SchemaArgs {
    ambiguousRoleResolution?: string | core.StringOut;
    identityProvider: string | core.StringOut;
    mappingRule?: core.Array<MappingRule> | core.ArrayOut<MappingRule>;
    type: string | core.StringOut;
}
export declare class RoleMapping extends core.Schema<RoleMappingArgs> {
    ambiguousRoleResolution?: string | core.StringOut;
    identityProvider: string | core.StringOut;
    mappingRule?: core.Array<MappingRule> | core.ArrayOut<MappingRule>;
    type: string | core.StringOut;
}
export interface PoolRolesAttachmentArgs extends core.ResourceArgs {
    identityPoolId: string | core.StringOut;
    roleMapping?: core.Array<RoleMapping> | core.ArrayOut<RoleMapping>;
    roles: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class PoolRolesAttachment extends core.Resource<PoolRolesAttachmentArgs> {
    /**
     * The identity pool ID.
     */
    id: string | core.StringOut;
    identityPoolId: string | core.StringOut;
    roleMapping?: core.Array<RoleMapping> | core.ArrayOut<RoleMapping>;
    roles: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: PoolRolesAttachmentArgs);
    getNamespace(): string;
}
//# sourceMappingURL=pool_roles_attachment.d.ts.map