import * as pulumi from "@pulumi/pulumi";
/**
 * Generates an [IAM] role document that may be referenced by and applied to
 * other Yandex.Cloud Platform resources, such as the `yandex.ResourcemanagerFolder` resource. For more information, see
 * [the official documentation](https://cloud.yandex.com/docs/iam/concepts/access-control/roles).
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as yandex from "@pulumi/yandex";
 *
 * const admin = pulumi.output(yandex.getIamRole({
 *     binding: [{
 *         members: ["userAccount:user_id_1"],
 *         role: "admin",
 *     }],
 * }));
 * ```
 *
 * This data source is used to define [IAM] roles in order to apply them to other resources.
 * Currently, defining a role through a data source and referencing that role
 * from another resource is the only way to apply an IAM role to a resource.
 */
export declare function getIamRole(args?: GetIamRoleArgs, opts?: pulumi.InvokeOptions): Promise<GetIamRoleResult>;
/**
 * A collection of arguments for invoking getIamRole.
 */
export interface GetIamRoleArgs {
    description?: string;
    roleId?: string;
}
/**
 * A collection of values returned by getIamRole.
 */
export interface GetIamRoleResult {
    readonly description?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly roleId: string;
}
export declare function getIamRoleOutput(args?: GetIamRoleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetIamRoleResult>;
/**
 * A collection of arguments for invoking getIamRole.
 */
export interface GetIamRoleOutputArgs {
    description?: pulumi.Input<string>;
    roleId?: pulumi.Input<string>;
}
