import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of kms data keys
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const dataKey = volcengine.kms.getDataKeys({
 *     keyId: "c44870c3-f33b-421a-****-a2bba37c993e",
 *     numberOfBytes: 1024,
 * });
 * const default = dataKey.then(dataKey => volcengine.kms.getPlaintexts({
 *     ciphertextBlob: dataKey.dataKeyInfos?.[0]?.ciphertextBlob,
 * }));
 * ```
 */
export declare function getDataKeys(args?: GetDataKeysArgs, opts?: pulumi.InvokeOptions): Promise<GetDataKeysResult>;
/**
 * A collection of arguments for invoking getDataKeys.
 */
export interface GetDataKeysArgs {
    /**
     * The JSON string of key/value pairs.
     */
    encryptionContext?: string;
    /**
     * The id of the key. When keyId is not specified, both keyringName and keyName must be specified.
     */
    keyId?: string;
    /**
     * The name of the key. Only symmetric key is supported.
     */
    keyName?: string;
    /**
     * The name of the keyring.
     */
    keyringName?: string;
    /**
     * The length of data key to generate.
     */
    numberOfBytes?: number;
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
}
/**
 * A collection of values returned by getDataKeys.
 */
export interface GetDataKeysResult {
    /**
     * The data key info.
     */
    readonly dataKeyInfos: outputs.kms.GetDataKeysDataKeyInfo[];
    readonly encryptionContext?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly keyId?: string;
    readonly keyName?: string;
    readonly keyringName?: string;
    readonly numberOfBytes?: number;
    readonly outputFile?: string;
    /**
     * The total count of query.
     */
    readonly totalCount: number;
}
/**
 * Use this data source to query detailed information of kms data keys
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const dataKey = volcengine.kms.getDataKeys({
 *     keyId: "c44870c3-f33b-421a-****-a2bba37c993e",
 *     numberOfBytes: 1024,
 * });
 * const default = dataKey.then(dataKey => volcengine.kms.getPlaintexts({
 *     ciphertextBlob: dataKey.dataKeyInfos?.[0]?.ciphertextBlob,
 * }));
 * ```
 */
export declare function getDataKeysOutput(args?: GetDataKeysOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetDataKeysResult>;
/**
 * A collection of arguments for invoking getDataKeys.
 */
export interface GetDataKeysOutputArgs {
    /**
     * The JSON string of key/value pairs.
     */
    encryptionContext?: pulumi.Input<string>;
    /**
     * The id of the key. When keyId is not specified, both keyringName and keyName must be specified.
     */
    keyId?: pulumi.Input<string>;
    /**
     * The name of the key. Only symmetric key is supported.
     */
    keyName?: pulumi.Input<string>;
    /**
     * The name of the keyring.
     */
    keyringName?: pulumi.Input<string>;
    /**
     * The length of data key to generate.
     */
    numberOfBytes?: pulumi.Input<number>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
}
