import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to access information about an existing Key Vault Managed Hardware Security Module Role Definition.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.keyvault.getManagedHardwareSecurityModuleRoleDefinition({
 *     managedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.id,
 *     name: "21dbd100-6940-42c2-9190-5d6cb909625b",
 * });
 * export const id = example.then(example => example.resourceManagerId);
 * ```
 */
export declare function getManagedHardwareSecurityModuleRoleDefinition(args: GetManagedHardwareSecurityModuleRoleDefinitionArgs, opts?: pulumi.InvokeOptions): Promise<GetManagedHardwareSecurityModuleRoleDefinitionResult>;
/**
 * A collection of arguments for invoking getManagedHardwareSecurityModuleRoleDefinition.
 */
export interface GetManagedHardwareSecurityModuleRoleDefinitionArgs {
    /**
     * The ID of the Key Vault Managed Hardware Security Module.
     */
    managedHsmId: string;
    /**
     * The name in UUID notation of this Key Vault Managed Hardware Security Module Role Definition.
     */
    name: string;
}
/**
 * A collection of values returned by getManagedHardwareSecurityModuleRoleDefinition.
 */
export interface GetManagedHardwareSecurityModuleRoleDefinitionResult {
    /**
     * A list of assignable role scopes. Possible values are `/` and `/keys`.
     */
    readonly assignableScopes: string[];
    /**
     * A text description of the Key Vault Managed Hardware Security Module Role Definition.
     */
    readonly description: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly managedHsmId: string;
    readonly name: string;
    /**
     * A `permission` block as defined below.
     */
    readonly permissions: outputs.keyvault.GetManagedHardwareSecurityModuleRoleDefinitionPermission[];
    /**
     * The ID of the Key Vault Managed Hardware Security Module Role Definition resource without base url.
     */
    readonly resourceManagerId: string;
    /**
     * The display name of the Key Vault Managed Hardware Security Module Role Definition.
     */
    readonly roleName: string;
    /**
     * The type of the Key Vault Managed Hardware Security Module Role Definition. Possible values are `AKVBuiltInRole` and `CustomRole`.
     */
    readonly roleType: string;
}
/**
 * Use this data source to access information about an existing Key Vault Managed Hardware Security Module Role Definition.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.keyvault.getManagedHardwareSecurityModuleRoleDefinition({
 *     managedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.id,
 *     name: "21dbd100-6940-42c2-9190-5d6cb909625b",
 * });
 * export const id = example.then(example => example.resourceManagerId);
 * ```
 */
export declare function getManagedHardwareSecurityModuleRoleDefinitionOutput(args: GetManagedHardwareSecurityModuleRoleDefinitionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetManagedHardwareSecurityModuleRoleDefinitionResult>;
/**
 * A collection of arguments for invoking getManagedHardwareSecurityModuleRoleDefinition.
 */
export interface GetManagedHardwareSecurityModuleRoleDefinitionOutputArgs {
    /**
     * The ID of the Key Vault Managed Hardware Security Module.
     */
    managedHsmId: pulumi.Input<string>;
    /**
     * The name in UUID notation of this Key Vault Managed Hardware Security Module Role Definition.
     */
    name: pulumi.Input<string>;
}
//# sourceMappingURL=getManagedHardwareSecurityModuleRoleDefinition.d.ts.map