import * as pulumi from "@pulumi/pulumi";
/**
 * Provides access to Google Cloud Platform KMS KeyHandle. A key handle is a Cloud KMS resource that helps you safely span the separation of duties to create new Cloud KMS keys for CMEK using Autokey.
 *
 * For more information see
 * [the official documentation](https://cloud.google.com/kms/docs/resource-hierarchy#key_handles)
 * and
 * [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyHandles).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const myKeyHandle = gcp.kms.getKeyHandle({
 *     name: "eed58b7b-20ad-4da8-ad85-ba78a0d5ab87",
 *     location: "us-central1",
 * });
 * ```
 */
export declare function getKeyHandle(args: GetKeyHandleArgs, opts?: pulumi.InvokeOptions): Promise<GetKeyHandleResult>;
/**
 * A collection of arguments for invoking getKeyHandle.
 */
export interface GetKeyHandleArgs {
    /**
     * The Google Cloud Platform location for the KeyHandle.
     * A full list of valid locations can be found by running `gcloud kms locations list`.
     *
     * - - -
     */
    location: string;
    /**
     * The KeyHandle's name.
     * A KeyHandle name must exist within the provided location and must be valid UUID.
     */
    name: string;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: string;
}
/**
 * A collection of values returned by getKeyHandle.
 */
export interface GetKeyHandleResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The identifier of the KMS Key created for the KeyHandle. Its format is `projects/{projectId}/locations/{location}/keyRings/{keyRingName}/cryptoKeys/{cryptoKeyName}`.
     */
    readonly kmsKey: string;
    /**
     * The location of the KMS Key and KeyHandle.
     */
    readonly location: string;
    readonly name: string;
    /**
     * The identifier of the project where KMS KeyHandle is created.
     */
    readonly project?: string;
    /**
     * Indicates the resource type that the resulting CryptoKey is meant to protect, e.g. {SERVICE}.googleapis.com/{TYPE}. See documentation for supported resource types.
     */
    readonly resourceTypeSelector: string;
}
/**
 * Provides access to Google Cloud Platform KMS KeyHandle. A key handle is a Cloud KMS resource that helps you safely span the separation of duties to create new Cloud KMS keys for CMEK using Autokey.
 *
 * For more information see
 * [the official documentation](https://cloud.google.com/kms/docs/resource-hierarchy#key_handles)
 * and
 * [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyHandles).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const myKeyHandle = gcp.kms.getKeyHandle({
 *     name: "eed58b7b-20ad-4da8-ad85-ba78a0d5ab87",
 *     location: "us-central1",
 * });
 * ```
 */
export declare function getKeyHandleOutput(args: GetKeyHandleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetKeyHandleResult>;
/**
 * A collection of arguments for invoking getKeyHandle.
 */
export interface GetKeyHandleOutputArgs {
    /**
     * The Google Cloud Platform location for the KeyHandle.
     * A full list of valid locations can be found by running `gcloud kms locations list`.
     *
     * - - -
     */
    location: pulumi.Input<string>;
    /**
     * The KeyHandle's name.
     * A KeyHandle name must exist within the provided location and must be valid UUID.
     */
    name: pulumi.Input<string>;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getKeyHandle.d.ts.map