import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of kms mac verifications
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const mac = volcengine.kms.getMacs({
 *     keyId: "68093dd1-d1a9-44ce-832a****-5a88c4bc31ab",
 *     macAlgorithm: "HMAC_SHA_256",
 *     message: "VGhpcyBpcyBhIHRlc3QgTWVzc2FnZS4=",
 * });
 * const verify = volcengine.kms.getMacVerifications({
 *     keyId: "68093dd1-d1a9-44ce-****-5a88c4bc31ab",
 *     mac: "Vm0D9fk6uDRZD6k9QZE9+d9gpgy6ESSPt0bfaA2p05w=",
 *     macAlgorithm: "HMAC_SHA_256",
 *     message: "VGhpcyBpcyBhIHRlc3QgTWVzc2FnZS4=",
 * });
 * ```
 */
export declare function getMacVerifications(args: GetMacVerificationsArgs, opts?: pulumi.InvokeOptions): Promise<GetMacVerificationsResult>;
/**
 * A collection of arguments for invoking getMacVerifications.
 */
export interface GetMacVerificationsArgs {
    /**
     * The id of the key. When keyId is not specified, both keyringName and keyName must be specified.
     */
    keyId?: string;
    /**
     * The name of the key.
     */
    keyName?: string;
    /**
     * The name of the keyring.
     */
    keyringName?: string;
    /**
     * The MAC to verify, Base64 encoded. Verify the Hash-based Message Authentication Code (HMAC), HMAC KMS key, and MAC algorithm for the specified message.
     */
    mac: string;
    /**
     * The MAC algorithm. Valid values: `HMAC_SM3`, `HMAC_SHA_256`.
     */
    macAlgorithm: string;
    /**
     * The message to verify, Base64 encoded.
     */
    message: string;
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
}
/**
 * A collection of values returned by getMacVerifications.
 */
export interface GetMacVerificationsResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The key id.
     */
    readonly keyId?: string;
    readonly keyName?: string;
    readonly keyringName?: string;
    readonly mac: string;
    readonly macAlgorithm: string;
    /**
     * The MAC verification info.
     */
    readonly macVerificationInfos: outputs.kms.GetMacVerificationsMacVerificationInfo[];
    readonly message: string;
    readonly outputFile?: string;
    /**
     * The total count of query.
     */
    readonly totalCount: number;
}
/**
 * Use this data source to query detailed information of kms mac verifications
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const mac = volcengine.kms.getMacs({
 *     keyId: "68093dd1-d1a9-44ce-832a****-5a88c4bc31ab",
 *     macAlgorithm: "HMAC_SHA_256",
 *     message: "VGhpcyBpcyBhIHRlc3QgTWVzc2FnZS4=",
 * });
 * const verify = volcengine.kms.getMacVerifications({
 *     keyId: "68093dd1-d1a9-44ce-****-5a88c4bc31ab",
 *     mac: "Vm0D9fk6uDRZD6k9QZE9+d9gpgy6ESSPt0bfaA2p05w=",
 *     macAlgorithm: "HMAC_SHA_256",
 *     message: "VGhpcyBpcyBhIHRlc3QgTWVzc2FnZS4=",
 * });
 * ```
 */
export declare function getMacVerificationsOutput(args: GetMacVerificationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetMacVerificationsResult>;
/**
 * A collection of arguments for invoking getMacVerifications.
 */
export interface GetMacVerificationsOutputArgs {
    /**
     * 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.
     */
    keyName?: pulumi.Input<string>;
    /**
     * The name of the keyring.
     */
    keyringName?: pulumi.Input<string>;
    /**
     * The MAC to verify, Base64 encoded. Verify the Hash-based Message Authentication Code (HMAC), HMAC KMS key, and MAC algorithm for the specified message.
     */
    mac: pulumi.Input<string>;
    /**
     * The MAC algorithm. Valid values: `HMAC_SM3`, `HMAC_SHA_256`.
     */
    macAlgorithm: pulumi.Input<string>;
    /**
     * The message to verify, Base64 encoded.
     */
    message: pulumi.Input<string>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
}
