import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * 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/list).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const myKeyHandles = gcp.kms.getKeyHandles({
 *     project: "resource-project-id",
 *     location: "us-central1",
 *     resourceTypeSelector: "storage.googleapis.com/Bucket",
 * });
 * ```
 */
export declare function getKeyHandles(args: GetKeyHandlesArgs, opts?: pulumi.InvokeOptions): Promise<GetKeyHandlesResult>;
/**
 * A collection of arguments for invoking getKeyHandles.
 */
export interface GetKeyHandlesArgs {
    /**
     * 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 project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: string;
    /**
     * The resource type by which to filter KeyHandle e.g. {SERVICE}.googleapis.com/{TYPE}. See documentation for supported resource types.
     *
     * - - -
     */
    resourceTypeSelector: string;
}
/**
 * A collection of values returned by getKeyHandles.
 */
export interface GetKeyHandlesResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly keyHandles: outputs.kms.GetKeyHandlesKeyHandle[];
    /**
     * The location of the KMS Key and KeyHandle.
     */
    readonly location: 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/list).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const myKeyHandles = gcp.kms.getKeyHandles({
 *     project: "resource-project-id",
 *     location: "us-central1",
 *     resourceTypeSelector: "storage.googleapis.com/Bucket",
 * });
 * ```
 */
export declare function getKeyHandlesOutput(args: GetKeyHandlesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetKeyHandlesResult>;
/**
 * A collection of arguments for invoking getKeyHandles.
 */
export interface GetKeyHandlesOutputArgs {
    /**
     * 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 project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * The resource type by which to filter KeyHandle e.g. {SERVICE}.googleapis.com/{TYPE}. See documentation for supported resource types.
     *
     * - - -
     */
    resourceTypeSelector: pulumi.Input<string>;
}
//# sourceMappingURL=getKeyHandles.d.ts.map