import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to get information about a Google IAM Role.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const roleinfo = gcp.iam.getRule({
 *     name: "roles/compute.viewer",
 * });
 * export const theRolePermissions = roleinfo.then(roleinfo => roleinfo.includedPermissions);
 * ```
 */
export declare function getRule(args: GetRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetRuleResult>;
/**
 * A collection of arguments for invoking getRule.
 */
export interface GetRuleArgs {
    /**
     * The name of the Role to lookup in the form `roles/{ROLE_NAME}`, `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` or `projects/{PROJECT_ID}/roles/{ROLE_NAME}`
     */
    name: string;
}
/**
 * A collection of values returned by getRule.
 */
export interface GetRuleResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * specifies the list of one or more permissions to include in the custom role, such as - `iam.roles.get`
     */
    readonly includedPermissions: string[];
    readonly name: string;
    /**
     * indicates the stage of a role in the launch lifecycle, such as `GA`, `BETA` or `ALPHA`.
     */
    readonly stage: string;
    /**
     * is a friendly title for the role, such as "Role Viewer"
     */
    readonly title: string;
}
/**
 * Use this data source to get information about a Google IAM Role.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const roleinfo = gcp.iam.getRule({
 *     name: "roles/compute.viewer",
 * });
 * export const theRolePermissions = roleinfo.then(roleinfo => roleinfo.includedPermissions);
 * ```
 */
export declare function getRuleOutput(args: GetRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRuleResult>;
/**
 * A collection of arguments for invoking getRule.
 */
export interface GetRuleOutputArgs {
    /**
     * The name of the Role to lookup in the form `roles/{ROLE_NAME}`, `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` or `projects/{PROJECT_ID}/roles/{ROLE_NAME}`
     */
    name: pulumi.Input<string>;
}
