import * as pulumi from "@pulumi/pulumi";
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const kmsAdm = pulumi.output(huaweicloud.Iam.getRole({
 *     displayName: "KMS Administrator",
 * }));
 * ```
 */
export declare function getRole(args?: GetRoleArgs, opts?: pulumi.InvokeOptions): Promise<GetRoleResult>;
/**
 * A collection of arguments for invoking getRole.
 */
export interface GetRoleArgs {
    /**
     * Specifies the display name of the role displayed on the console.
     * It is recommended to use this parameter instead of `name` and required if `name` is not specified.
     */
    displayName?: string;
    /**
     * Specifies the name of the role for internal use.
     * It's required if `displayName` is not specified.
     */
    name?: string;
}
/**
 * A collection of values returned by getRole.
 */
export interface GetRoleResult {
    /**
     * The service catalog of the policy.
     */
    readonly catalog: string;
    /**
     * The description of the policy.
     */
    readonly description: string;
    readonly displayName: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name: string;
    /**
     * The content of the policy.
     */
    readonly policy: string;
    /**
     * The display mode of the policy.
     */
    readonly type: string;
}
export declare function getRoleOutput(args?: GetRoleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetRoleResult>;
/**
 * A collection of arguments for invoking getRole.
 */
export interface GetRoleOutputArgs {
    /**
     * Specifies the display name of the role displayed on the console.
     * It is recommended to use this parameter instead of `name` and required if `name` is not specified.
     */
    displayName?: pulumi.Input<string>;
    /**
     * Specifies the name of the role for internal use.
     * It's required if `displayName` is not specified.
     */
    name?: pulumi.Input<string>;
}
