import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of kms re encrypts
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const encryptStable = new volcengine.kms.Ciphertext("encryptStable", {
 *     keyId: "c44870c3-f33b-421a-****-a2bba37c993e",
 *     plaintext: "VGhpcyBpcyBhIHBsYWludGV4dCBleGFtcGxlLg==",
 * });
 * const reEncryptChanging = volcengine.kms.getReEncryptsOutput({
 *     newKeyId: "33e6ae1f-62f6-415a-****-579f526274cc",
 *     sourceCiphertextBlob: encryptStable.ciphertextBlob,
 * });
 * ```
 */
export declare function getReEncrypts(args: GetReEncryptsArgs, opts?: pulumi.InvokeOptions): Promise<GetReEncryptsResult>;
/**
 * A collection of arguments for invoking getReEncrypts.
 */
export interface GetReEncryptsArgs {
    /**
     * The new encryption context JSON string of key/value pairs.
     */
    newEncryptionContext?: string;
    /**
     * The new key id. When newKeyId is not specified, both newKeyringName and newKeyName must be specified.
     */
    newKeyId?: string;
    /**
     * The new key name.
     */
    newKeyName?: string;
    /**
     * The new keyring name.
     */
    newKeyringName?: string;
    /**
     * The old encryption context JSON string of key/value pairs.
     */
    oldEncryptionContext?: string;
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
    /**
     * The ciphertext data to be re-encrypted, Base64 encoded.
     */
    sourceCiphertextBlob: string;
}
/**
 * A collection of values returned by getReEncrypts.
 */
export interface GetReEncryptsResult {
    /**
     * The information about the ciphertext.
     */
    readonly ciphertextInfos: outputs.kms.GetReEncryptsCiphertextInfo[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly newEncryptionContext?: string;
    readonly newKeyId?: string;
    readonly newKeyName?: string;
    readonly newKeyringName?: string;
    readonly oldEncryptionContext?: string;
    readonly outputFile?: string;
    readonly sourceCiphertextBlob: string;
    /**
     * The total count of query.
     */
    readonly totalCount: number;
}
/**
 * Use this data source to query detailed information of kms re encrypts
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const encryptStable = new volcengine.kms.Ciphertext("encryptStable", {
 *     keyId: "c44870c3-f33b-421a-****-a2bba37c993e",
 *     plaintext: "VGhpcyBpcyBhIHBsYWludGV4dCBleGFtcGxlLg==",
 * });
 * const reEncryptChanging = volcengine.kms.getReEncryptsOutput({
 *     newKeyId: "33e6ae1f-62f6-415a-****-579f526274cc",
 *     sourceCiphertextBlob: encryptStable.ciphertextBlob,
 * });
 * ```
 */
export declare function getReEncryptsOutput(args: GetReEncryptsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetReEncryptsResult>;
/**
 * A collection of arguments for invoking getReEncrypts.
 */
export interface GetReEncryptsOutputArgs {
    /**
     * The new encryption context JSON string of key/value pairs.
     */
    newEncryptionContext?: pulumi.Input<string>;
    /**
     * The new key id. When newKeyId is not specified, both newKeyringName and newKeyName must be specified.
     */
    newKeyId?: pulumi.Input<string>;
    /**
     * The new key name.
     */
    newKeyName?: pulumi.Input<string>;
    /**
     * The new keyring name.
     */
    newKeyringName?: pulumi.Input<string>;
    /**
     * The old encryption context JSON string of key/value pairs.
     */
    oldEncryptionContext?: pulumi.Input<string>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
    /**
     * The ciphertext data to be re-encrypted, Base64 encoded.
     */
    sourceCiphertextBlob: pulumi.Input<string>;
}
