import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get information about Google Cloud IAM Custom Roles from a project.
 * Note that you must have the `roles/iam.roleViewer`.
 * See [the official documentation](https://cloud.google.com/iam/docs/creating-custom-roles)
 * and [API](https://cloud.google.com/iam/docs/reference/rest/v1/projects.roles/list).
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const example = gcp.projects.getIamCustomRoles({
 *     project: "your-project-id",
 *     showDeleted: true,
 *     view: "FULL",
 * });
 * ```
 */
export declare function getIamCustomRoles(args?: GetIamCustomRolesArgs, opts?: pulumi.InvokeOptions): Promise<GetIamCustomRolesResult>;
/**
 * A collection of arguments for invoking getIamCustomRoles.
 */
export interface GetIamCustomRolesArgs {
    /**
     * The project were the custom role has been created in. Defaults to the provider project configuration.
     */
    project?: string;
    /**
     * Include Roles that have been deleted. Defaults to `false`.
     */
    showDeleted?: boolean;
    /**
     * When `"FULL"` is specified, the `permissions` field is returned, which includes a list of all permissions in the role. The default value is `"BASIC"`, which does not return the `permissions`.
     */
    view?: string;
}
/**
 * A collection of values returned by getIamCustomRoles.
 */
export interface GetIamCustomRolesResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly project?: string;
    /**
     * A list of all retrieved custom roles roles. Structure is defined below.
     */
    readonly roles: outputs.projects.GetIamCustomRolesRole[];
    readonly showDeleted?: boolean;
    readonly view?: string;
}
/**
 * Get information about Google Cloud IAM Custom Roles from a project.
 * Note that you must have the `roles/iam.roleViewer`.
 * See [the official documentation](https://cloud.google.com/iam/docs/creating-custom-roles)
 * and [API](https://cloud.google.com/iam/docs/reference/rest/v1/projects.roles/list).
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const example = gcp.projects.getIamCustomRoles({
 *     project: "your-project-id",
 *     showDeleted: true,
 *     view: "FULL",
 * });
 * ```
 */
export declare function getIamCustomRolesOutput(args?: GetIamCustomRolesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetIamCustomRolesResult>;
/**
 * A collection of arguments for invoking getIamCustomRoles.
 */
export interface GetIamCustomRolesOutputArgs {
    /**
     * The project were the custom role has been created in. Defaults to the provider project configuration.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * Include Roles that have been deleted. Defaults to `false`.
     */
    showDeleted?: pulumi.Input<boolean | undefined>;
    /**
     * When `"FULL"` is specified, the `permissions` field is returned, which includes a list of all permissions in the role. The default value is `"BASIC"`, which does not return the `permissions`.
     */
    view?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getIamCustomRoles.d.ts.map