import * as pulumi from "@pulumi/pulumi";
/**
 * Get information about a Google Cloud Project IAM Custom Role. Note that you must have the `roles/iam.roleViewer` role (or equivalent permissions) at the project level to use this datasource.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const example = gcp.projects.getIamCustomRole({
 *     project: "your-project-id",
 *     roleId: "your-role-id",
 * });
 * const project = new gcp.projects.IAMMember("project", {
 *     project: "your-project-id",
 *     role: example.then(example => example.name),
 *     member: "user:jane@example.com",
 * });
 * ```
 */
export declare function getIamCustomRole(args: GetIamCustomRoleArgs, opts?: pulumi.InvokeOptions): Promise<GetIamCustomRoleResult>;
/**
 * A collection of arguments for invoking getIamCustomRole.
 */
export interface GetIamCustomRoleArgs {
    /**
     * The project were the custom role has been created in. Defaults to the provider project configuration.
     */
    project?: string;
    /**
     * The role id that has been used for this role.
     */
    roleId: string;
}
/**
 * A collection of values returned by getIamCustomRole.
 */
export interface GetIamCustomRoleResult {
    readonly deleted: boolean;
    readonly description: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name: string;
    readonly permissions: string[];
    readonly project?: string;
    readonly roleId: string;
    readonly stage: string;
    readonly title: string;
}
/**
 * Get information about a Google Cloud Project IAM Custom Role. Note that you must have the `roles/iam.roleViewer` role (or equivalent permissions) at the project level to use this datasource.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const example = gcp.projects.getIamCustomRole({
 *     project: "your-project-id",
 *     roleId: "your-role-id",
 * });
 * const project = new gcp.projects.IAMMember("project", {
 *     project: "your-project-id",
 *     role: example.then(example => example.name),
 *     member: "user:jane@example.com",
 * });
 * ```
 */
export declare function getIamCustomRoleOutput(args: GetIamCustomRoleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetIamCustomRoleResult>;
/**
 * A collection of arguments for invoking getIamCustomRole.
 */
export interface GetIamCustomRoleOutputArgs {
    /**
     * The project were the custom role has been created in. Defaults to the provider project configuration.
     */
    project?: pulumi.Input<string>;
    /**
     * The role id that has been used for this role.
     */
    roleId: pulumi.Input<string>;
}
