export interface KeyModesOfUse {
    /** Speciﬁes whether an Amazon Web Services Payment Cryptography key can be used to encrypt data. */
    Encrypt?: boolean;
    /** Speciﬁes whether an Amazon Web Services Payment Cryptography key can be used to decrypt data. */
    Decrypt?: boolean;
    /** Speciﬁes whether an Amazon Web Services Payment Cryptography key can be used to wrap other keys. */
    Wrap?: boolean;
    /** Speciﬁes whether an Amazon Web Services Payment Cryptography key can be used to unwrap other keys. */
    Unwrap?: boolean;
    /** Speciﬁes whether an Amazon Web Services Payment Cryptography key can be used to generate and verify other card and PIN verification keys. */
    Generate?: boolean;
    /** Speciﬁes whether an Amazon Web Services Payment Cryptography key can be used for signing. */
    Sign?: boolean;
    /** Speciﬁes whether an Amazon Web Services Payment Cryptography key can be used to verify signatures. */
    Verify?: boolean;
    /** Speciﬁes whether an Amazon Web Services Payment Cryptography key can be used to derive new keys. */
    DeriveKey?: boolean;
    /** Speciﬁes whether an Amazon Web Services Payment Cryptography key has no special restrictions other than the restrictions implied by KeyUsage. */
    NoRestrictions?: boolean;
}
export interface KeyAttributes {
    /** The cryptographic usage of an Amazon Web Services Payment Cryptography key as deﬁned in section A.5.2 of the TR-31 spec. */
    KeyUsage: 'TR31_B0_BASE_DERIVATION_KEY' | 'TR31_C0_CARD_VERIFICATION_KEY' | 'TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY' | 'TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION' | 'TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS' | 'TR31_E1_EMV_MKEY_CONFIDENTIALITY' | 'TR31_E2_EMV_MKEY_INTEGRITY' | 'TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS' | 'TR31_E5_EMV_MKEY_CARD_PERSONALIZATION' | 'TR31_E6_EMV_MKEY_OTHER' | 'TR31_K0_KEY_ENCRYPTION_KEY' | 'TR31_K1_KEY_BLOCK_PROTECTION_KEY' | 'TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT' | 'TR31_M0_ISO_16609_MAC_KEY' | 'TR31_M3_ISO_9797_3_MAC_KEY' | 'TR31_M1_ISO_9797_1_MAC_KEY' | 'TR31_M6_ISO_9797_5_CMAC_KEY' | 'TR31_M7_HMAC_KEY' | 'TR31_P0_PIN_ENCRYPTION_KEY' | 'TR31_P1_PIN_GENERATION_KEY' | 'TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE' | 'TR31_V1_IBM3624_PIN_VERIFICATION_KEY' | 'TR31_V2_VISA_PIN_VERIFICATION_KEY' | 'TR31_K2_TR34_ASYMMETRIC_KEY';
    /** The type of Amazon Web Services Payment Cryptography key to create, which determines the classiﬁcation of the cryptographic method and whether Amazon Web Services Payment Cryptography key contains a s */
    KeyClass: 'SYMMETRIC_KEY' | 'ASYMMETRIC_KEY_PAIR' | 'PRIVATE_KEY' | 'PUBLIC_KEY';
    /** The key algorithm to be use during creation of an Amazon Web Services Payment Cryptography key. For symmetric keys, Amazon Web Services Payment Cryptography supports AES and TDES algorithms. For asymm */
    KeyAlgorithm: 'TDES_2KEY' | 'TDES_3KEY' | 'AES_128' | 'AES_192' | 'AES_256' | 'HMAC_SHA256' | 'HMAC_SHA384' | 'HMAC_SHA512' | 'HMAC_SHA224' | 'RSA_2048' | 'RSA_3072' | 'RSA_4096' | 'ECC_NIST_P256' | 'ECC_NIST_P384' | 'ECC_NIST_P521';
    /** The list of cryptographic operations that you can perform using the key. */
    KeyModesOfUse: KeyModesOfUse;
}
export interface Tag {
    /** The key of the tag. */
    Key: string;
    /** The value of the tag. */
    Value: string;
}
export interface ExportTr31KeyBlock {
    /** The KeyARN of the the wrapping key. This key encrypts or wraps the key under export for TR-31 key block generation. */
    WrappingKeyIdentifier: string;
    /** Optional metadata for export associated with the key material. This data is signed but transmitted in clear text. */
    KeyBlockHeaders?: any;
}
export interface ExportTr34KeyBlock {
    /** The KeyARN of the certificate chain that signs the wrapping key certificate during TR-34 key export. */
    CertificateAuthorityPublicKeyIdentifier: string;
    /** The KeyARN of the wrapping key certificate. Amazon Web Services Payment Cryptography uses this certificate to wrap the key under export. */
    WrappingKeyCertificate: string;
    /** The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Ca */
    ExportToken?: string;
    /** Key Identifier used for signing the export key */
    SigningKeyIdentifier?: string;
    /** The certificate used to sign the TR-34 key block. */
    SigningKeyCertificate?: string;
    /** The format of key block that Amazon Web Services Payment Cryptography will use during key export. */
    KeyBlockFormat: 'X9_TR34_2012';
    /** A random number value that is unique to the TR-34 key block generated using 2 pass. The operation will fail, if a random nonce value is not provided for a TR-34 key block generated using 2 pass. */
    RandomNonce?: string;
    /** Optional metadata for export associated with the key material. This data is signed but transmitted in clear text. */
    KeyBlockHeaders?: any;
}
export interface ExportKeyCryptogram {
    /** The KeyARN of the certificate chain that signs the wrapping key certificate during RSA wrap and unwrap key export. */
    CertificateAuthorityPublicKeyIdentifier: string;
    /** The wrapping key certificate in PEM format (base64 encoded). Amazon Web Services Payment Cryptography uses this certificate to wrap the key under export. */
    WrappingKeyCertificate: string;
    /** The wrapping spec for the key under export. */
    WrappingSpec?: 'RSA_OAEP_SHA_256' | 'RSA_OAEP_SHA_512';
}
export interface ExportDiffieHellmanTr31KeyBlock {
    /** The keyARN of the asymmetric ECC key created within Amazon Web Services Payment Cryptography. */
    PrivateKeyIdentifier: string;
    /** The keyARN of the CA that signed the PublicKeyCertificate for the client's receiving ECC key pair. */
    CertificateAuthorityPublicKeyIdentifier: string;
    /** The public key certificate of the client's receiving ECC key pair, in PEM format (base64 encoded), to use for ECDH key derivation. */
    PublicKeyCertificate: string;
    /** The key algorithm of the shared derived ECDH key. */
    DeriveKeyAlgorithm: 'TDES_2KEY' | 'TDES_3KEY' | 'AES_128' | 'AES_192' | 'AES_256' | 'HMAC_SHA256' | 'HMAC_SHA384' | 'HMAC_SHA512' | 'HMAC_SHA224';
    /** The key derivation function to use when deriving a key using ECDH. */
    KeyDerivationFunction: 'NIST_SP800' | 'ANSI_X963';
    /** The hash type to use when deriving a key using ECDH. */
    KeyDerivationHashAlgorithm: 'SHA_256' | 'SHA_384' | 'SHA_512';
    /** The shared information used when deriving a key using ECDH. */
    DerivationData: any;
    KeyBlockHeaders?: any;
}
export interface ExportAs2805KeyCryptogram {
    WrappingKeyIdentifier: string;
    /** The cryptographic usage of the key under export. */
    As2805KeyVariant: 'TERMINAL_MAJOR_KEY_VARIANT_00' | 'PIN_ENCRYPTION_KEY_VARIANT_28' | 'MESSAGE_AUTHENTICATION_KEY_VARIANT_24' | 'DATA_ENCRYPTION_KEY_VARIANT_22';
}
export interface ExportDukptInitialKey {
    /** The KSN for IPEK generation using DUKPT. KSN must be padded before sending to Amazon Web Services Payment Cryptography. KSN hex length should be 20 for a TDES_2KEY key or 24 for an AES key. */
    KeySerialNumber: string;
}
export interface ExportAttributes {
    /** Parameter information for IPEK export. */
    ExportDukptInitialKey?: ExportDukptInitialKey;
    /** The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity. Specify KCV for IPEK export only. For TDES keys, the  */
    KeyCheckValueAlgorithm?: 'CMAC' | 'ANSI_X9_24' | 'HMAC' | 'SHA_1';
}
export interface CertificateSubjectType {
    /** The name you provide to create the certificate signing request. */
    CommonName: string;
    /** The organization unit you provide to create the certificate signing request. */
    OrganizationUnit?: string;
    /** The organization you provide to create the certificate signing request. */
    Organization?: string;
    /** The city you provide to create the certificate signing request. */
    City?: string;
    /** The country you provide to create the certificate signing request. */
    Country?: string;
    /** The state or province you provide to create the certificate signing request. */
    StateOrProvince?: string;
    /** The email address you provide to create the certificate signing request. */
    EmailAddress?: string;
}
export interface RootCertificatePublicKey {
    /** The role of the key, the algorithm it supports, and the cryptographic operations allowed with the key. This data is immutable after the root public key is imported. */
    KeyAttributes: any;
    /** Parameter information for root public key certificate import. */
    PublicKeyCertificate: string;
}
export interface TrustedCertificatePublicKey {
    /** The role of the key, the algorithm it supports, and the cryptographic operations allowed with the key. This data is immutable after a trusted public key is imported. */
    KeyAttributes: any;
    /** Parameter information for trusted public key certificate import. */
    PublicKeyCertificate: string;
    /** The KeyARN of the root public key certificate or certificate chain that signs the trusted public key certificate import. */
    CertificateAuthorityPublicKeyIdentifier: string;
}
export interface ImportTr31KeyBlock {
    /** The KeyARN of the key that will decrypt or unwrap a TR-31 key block during import. */
    WrappingKeyIdentifier: string;
    /** The TR-31 wrapped key block to import. */
    WrappedKeyBlock: string;
}
export interface ImportTr34KeyBlock {
    /** The KeyARN of the certificate chain that signs the signing key certificate during TR-34 key import. */
    CertificateAuthorityPublicKeyIdentifier: string;
    /** The public key component in PEM certificate format of the private key that signs the KDH TR-34 WrappedKeyBlock. */
    SigningKeyCertificate: string;
    /** The import token that initiates key import using the asymmetric TR-34 key exchange method into Amazon Web Services Payment Cryptography. It expires after 30 days. You can use the same import token to  */
    ImportToken?: string;
    /** Key Identifier used for unwrapping the import key */
    WrappingKeyIdentifier?: string;
    /** The certificate used to wrap the TR-34 key block. */
    WrappingKeyCertificate?: string;
    /** The TR-34 wrapped key block to import. */
    WrappedKeyBlock: string;
    /** The key block format to use during key import. The only value allowed is X9_TR34_2012. */
    KeyBlockFormat: 'X9_TR34_2012';
    /** A random number value that is unique to the TR-34 key block generated using 2 pass. The operation will fail, if a random nonce value is not provided for a TR-34 key block generated using 2 pass. */
    RandomNonce?: string;
}
export interface ImportKeyCryptogram {
    KeyAttributes: any;
    /** Specifies whether the key is exportable from the service. */
    Exportable: boolean;
    /** The RSA wrapped key cryptogram under import. */
    WrappedKeyCryptogram: string;
    /** The import token that initiates key import using the asymmetric RSA wrap and unwrap key exchange method into AWS Payment Cryptography. It expires after 30 days. You can use the same import token to im */
    ImportToken: string;
    /** The wrapping spec for the wrapped key cryptogram. */
    WrappingSpec?: 'RSA_OAEP_SHA_256' | 'RSA_OAEP_SHA_512';
}
export interface ImportDiffieHellmanTr31KeyBlock {
    /** The keyARN of the asymmetric ECC key created within Amazon Web Services Payment Cryptography. */
    PrivateKeyIdentifier: string;
    /** The keyARN of the CA that signed the PublicKeyCertificate for the client's receiving ECC key pair. */
    CertificateAuthorityPublicKeyIdentifier: string;
    /** The public key certificate of the client's receiving ECC key pair, in PEM format (base64 encoded), to use for ECDH key derivation. */
    PublicKeyCertificate: string;
    /** The key algorithm of the shared derived ECDH key. */
    DeriveKeyAlgorithm: 'TDES_2KEY' | 'TDES_3KEY' | 'AES_128' | 'AES_192' | 'AES_256' | 'HMAC_SHA256' | 'HMAC_SHA384' | 'HMAC_SHA512' | 'HMAC_SHA224';
    /** The key derivation function to use when deriving a key using ECDH. */
    KeyDerivationFunction: 'NIST_SP800' | 'ANSI_X963';
    /** The hash type to use when deriving a key using ECDH. */
    KeyDerivationHashAlgorithm: 'SHA_256' | 'SHA_384' | 'SHA_512';
    /** The shared information used when deriving a key using ECDH. */
    DerivationData: any;
    /** The ECDH wrapped key block to import. */
    WrappedKeyBlock: string;
}
export interface ImportAs2805KeyCryptogram {
    /** The cryptographic usage of the key under import. */
    As2805KeyVariant: 'TERMINAL_MAJOR_KEY_VARIANT_00' | 'PIN_ENCRYPTION_KEY_VARIANT_28' | 'MESSAGE_AUTHENTICATION_KEY_VARIANT_24' | 'DATA_ENCRYPTION_KEY_VARIANT_22';
    KeyModesOfUse: any;
    /** The key algorithm of the key under import. */
    KeyAlgorithm: 'TDES_2KEY' | 'TDES_3KEY' | 'AES_128' | 'AES_192' | 'AES_256' | 'HMAC_SHA256' | 'HMAC_SHA384' | 'HMAC_SHA512' | 'HMAC_SHA224' | 'RSA_2048' | 'RSA_3072' | 'RSA_4096' | 'ECC_NIST_P256' | 'ECC_NIST_P384' | 'ECC_NIST_P521';
    /** Specified whether the key is exportable. This data is immutable after the key is imported. */
    Exportable: boolean;
    WrappingKeyIdentifier: string;
    /** The wrapped key cryptogram under import. */
    WrappedKeyCryptogram: string;
}
/** Input parameters for adding replication regions to a specific key. */
export interface AddKeyReplicationRegionsInput {
    /** The key identifier (ARN or alias) of the key for which to add replication regions. This key must exist and be in a valid state for replication operations. */
    KeyIdentifier: string;
    /** The list of Amazon Web Services Regions to add to the key's replication configuration. Each region must be a valid Amazon Web Services Region where Amazon Web Services Payment Cryptography is availabl */
    ReplicationRegions: string[];
}
export interface CreateKeyInput {
    /** Specifies whether the key is exportable from the service. */
    Exportable: boolean;
    /** The role of the key, the algorithm it supports, and the cryptographic operations allowed with the key. This data is immutable after the key is created. */
    KeyAttributes: KeyAttributes;
    /** The intended cryptographic usage of keys derived from the ECC key pair to be created. After creating an ECC key pair, you cannot change the intended cryptographic usage of keys derived from it using E */
    DeriveKeyUsage?: 'TR31_B0_BASE_DERIVATION_KEY' | 'TR31_C0_CARD_VERIFICATION_KEY' | 'TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY' | 'TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS' | 'TR31_E1_EMV_MKEY_CONFIDENTIALITY' | 'TR31_E2_EMV_MKEY_INTEGRITY' | 'TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS' | 'TR31_E5_EMV_MKEY_CARD_PERSONALIZATION' | 'TR31_E6_EMV_MKEY_OTHER' | 'TR31_K0_KEY_ENCRYPTION_KEY' | 'TR31_K1_KEY_BLOCK_PROTECTION_KEY' | 'TR31_M3_ISO_9797_3_MAC_KEY' | 'TR31_M1_ISO_9797_1_MAC_KEY' | 'TR31_M6_ISO_9797_5_CMAC_KEY' | 'TR31_M7_HMAC_KEY' | 'TR31_P0_PIN_ENCRYPTION_KEY' | 'TR31_P1_PIN_GENERATION_KEY' | 'TR31_V1_IBM3624_PIN_VERIFICATION_KEY' | 'TR31_V2_VISA_PIN_VERIFICATION_KEY';
    /** Specifies whether to enable the key. If the key is enabled, it is activated for use within the service. If the key is not enabled, then it is created but not activated. The default value is enabled. */
    Enabled?: boolean;
    /** The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity. For TDES keys, the KCV is computed by encrypting 8 by */
    KeyCheckValueAlgorithm?: 'CMAC' | 'ANSI_X9_24' | 'HMAC' | 'SHA_1';
    ReplicationRegions?: string[];
    /** Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is created. To tag an existing Amazon Web Services Payment Cryptography key, use t */
    Tags?: Tag[];
}
export interface DeleteAliasInput {
    /** A friendly name that you can use to refer Amazon Web Services Payment Cryptography key. This value must begin with alias/ followed by a name, such as alias/ExampleAlias. */
    AliasName: string;
}
export interface DeleteKeyInput {
    /** The KeyARN of the key that is scheduled for deletion. */
    KeyIdentifier: string;
    /** The waiting period for key deletion. The default value is seven days. */
    DeleteKeyInDays?: number;
}
/** Input parameters for disabling default key replication regions for the account. */
export interface DisableDefaultKeyReplicationRegionsInput {
    /** The list of Amazon Web Services Regions to remove from the account's default replication regions. New keys created after this operation will not automatically be replicated to these regions, though ex */
    ReplicationRegions: string[];
}
/** Input parameters for enabling default key replication regions for the account. */
export interface EnableDefaultKeyReplicationRegionsInput {
    /** The list of Amazon Web Services Regions to enable as default replication regions for the Amazon Web Services account for Multi-Region key replication. New keys created in this account will automatical */
    ReplicationRegions: string[];
}
export interface ExportKeyInput {
    /** The KeyARN of the key under export from Amazon Web Services Payment Cryptography. */
    ExportKeyIdentifier: string;
    /** The key block format type, for example, TR-34 or TR-31, to use during key material export. */
    KeyMaterial: any;
    /** The attributes for IPEK generation during export. */
    ExportAttributes?: ExportAttributes;
}
export interface GetAliasInput {
    /** The alias of the Amazon Web Services Payment Cryptography key. */
    AliasName: string;
}
export interface GetCertificateSigningRequestInput {
    /** The metadata used to create the CSR. */
    CertificateSubject: CertificateSubjectType;
    /** Asymmetric key used for generating the certificate signing request */
    KeyIdentifier: string;
    /** The cryptographic algorithm used to sign your CSR. */
    SigningAlgorithm: 'SHA224' | 'SHA256' | 'SHA384' | 'SHA512';
}
export interface GetKeyInput {
    /** The KeyARN of the Amazon Web Services Payment Cryptography key. */
    KeyIdentifier: string;
}
export interface GetParametersForExportInput {
    /** The key block format type (for example, TR-34 or TR-31) to use during key material export. Export token is only required for a TR-34 key export, TR34_KEY_BLOCK. Export token is not required for TR-31  */
    KeyMaterialType: 'TR34_KEY_BLOCK' | 'TR31_KEY_BLOCK' | 'ROOT_PUBLIC_KEY_CERTIFICATE' | 'TRUSTED_PUBLIC_KEY_CERTIFICATE' | 'KEY_CRYPTOGRAM';
    /** The signing key algorithm to generate a signing key certificate. This certificate signs the wrapped key under export within the TR-34 key block. RSA_2048 is the only signing key algorithm allowed. */
    SigningKeyAlgorithm: 'TDES_2KEY' | 'TDES_3KEY' | 'AES_128' | 'AES_192' | 'AES_256' | 'HMAC_SHA256' | 'HMAC_SHA384' | 'HMAC_SHA512' | 'HMAC_SHA224' | 'RSA_2048' | 'RSA_3072' | 'RSA_4096' | 'ECC_NIST_P256' | 'ECC_NIST_P384' | 'ECC_NIST_P521';
}
export interface GetParametersForImportInput {
    /** The method to use for key material import. Import token is only required for TR-34 WrappedKeyBlock (TR34_KEY_BLOCK) and RSA WrappedKeyCryptogram (KEY_CRYPTOGRAM). Import token is not required for TR-3 */
    KeyMaterialType: 'TR34_KEY_BLOCK' | 'TR31_KEY_BLOCK' | 'ROOT_PUBLIC_KEY_CERTIFICATE' | 'TRUSTED_PUBLIC_KEY_CERTIFICATE' | 'KEY_CRYPTOGRAM';
    /** The wrapping key algorithm to generate a wrapping key certificate. This certificate wraps the key under import. At this time, RSA_2048 is the allowed algorithm for TR-34 WrappedKeyBlock import. Additi */
    WrappingKeyAlgorithm: 'TDES_2KEY' | 'TDES_3KEY' | 'AES_128' | 'AES_192' | 'AES_256' | 'HMAC_SHA256' | 'HMAC_SHA384' | 'HMAC_SHA512' | 'HMAC_SHA224' | 'RSA_2048' | 'RSA_3072' | 'RSA_4096' | 'ECC_NIST_P256' | 'ECC_NIST_P384' | 'ECC_NIST_P521';
}
export interface GetPublicKeyCertificateInput {
    /** The KeyARN of the asymmetric key pair. */
    KeyIdentifier: string;
}
export interface ImportKeyInput {
    /** The key or public key certificate type to use during key material import, for example TR-34 or RootCertificatePublicKey. */
    KeyMaterial: any;
    /** Specifies whether import key is enabled. */
    Enabled?: boolean;
    /** The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity. For TDES keys, the KCV is computed by encrypting 8 by */
    KeyCheckValueAlgorithm?: 'CMAC' | 'ANSI_X9_24' | 'HMAC' | 'SHA_1';
    ReplicationRegions?: string[];
    /** Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is imported. To tag an existing Amazon Web Services Payment Cryptography key, use  */
    Tags?: Tag[];
}
export interface ListAliasesInput {
    /** The keyARN for which you want to list all aliases. */
    KeyArn?: string;
    /** Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but i */
    MaxResults?: number;
    /** Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the truncated response you just received. */
    NextToken?: string;
}
export interface ListKeysInput {
    /** The key state of the keys you want to list. */
    KeyState?: 'CREATE_IN_PROGRESS' | 'CREATE_COMPLETE' | 'DELETE_PENDING' | 'DELETE_COMPLETE';
    /** Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but i */
    MaxResults?: number;
    /** Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the truncated response you just received. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The KeyARN of the key whose tags you are getting. */
    ResourceArn: string;
    /** Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but i */
    MaxResults?: number;
    /** Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the truncated response you just received. */
    NextToken?: string;
}
/** Input parameters for removing replication regions from a specific key. */
export interface RemoveKeyReplicationRegionsInput {
    /** The key identifier (ARN or alias) of the key from which to remove replication regions. This key must exist and have replication enabled in the specified regions. */
    KeyIdentifier: string;
    /** The list of Amazon Web Services Regions to remove from the key's replication configuration. The key will no longer be available for cryptographic operations in these regions after removal. Ensure no a */
    ReplicationRegions: string[];
}
export interface RestoreKeyInput {
    /** The KeyARN of the key to be restored within Amazon Web Services Payment Cryptography. */
    KeyIdentifier: string;
}
export interface StartKeyUsageInput {
    /** The KeyArn of the key. */
    KeyIdentifier: string;
}
export interface StopKeyUsageInput {
    /** The KeyArn of the key. */
    KeyIdentifier: string;
}
export interface TagResourceInput {
    /** The KeyARN of the key whose tags are being updated. */
    ResourceArn: string;
    /** One or more tags. Each tag consists of a tag key and a tag value. The tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with  */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The KeyARN of the key whose tags are being removed. */
    ResourceArn: string;
    /** One or more tag keys. Don't include the tag values. If the Amazon Web Services Payment Cryptography key doesn't have the specified tag key, Amazon Web Services Payment Cryptography doesn't throw an ex */
    TagKeys: string[];
}
export interface UpdateAliasInput {
    /** The alias whose associated key is changing. */
    AliasName: string;
    /** The KeyARN for the key that you are updating or removing from the alias. */
    KeyArn?: string;
}
/** Payment Cryptography service binding for Step Functions SDK integrations. */
export declare class PaymentCryptography {
    constructor();
    addKeyReplicationRegions<T>(params: AddKeyReplicationRegionsInput): Promise<T>;
    createKey<T>(params: CreateKeyInput): Promise<T>;
    deleteAlias<T>(params: DeleteAliasInput): Promise<T>;
    deleteKey<T>(params: DeleteKeyInput): Promise<T>;
    disableDefaultKeyReplicationRegions<T>(params: DisableDefaultKeyReplicationRegionsInput): Promise<T>;
    enableDefaultKeyReplicationRegions<T>(params: EnableDefaultKeyReplicationRegionsInput): Promise<T>;
    exportKey<T>(params: ExportKeyInput): Promise<T>;
    getAlias<T>(params: GetAliasInput): Promise<T>;
    getCertificateSigningRequest<T>(params: GetCertificateSigningRequestInput): Promise<T>;
    getDefaultKeyReplicationRegions<T>(params: Record<string, any>): Promise<T>;
    getKey<T>(params: GetKeyInput): Promise<T>;
    getParametersForExport<T>(params: GetParametersForExportInput): Promise<T>;
    getParametersForImport<T>(params: GetParametersForImportInput): Promise<T>;
    getPublicKeyCertificate<T>(params: GetPublicKeyCertificateInput): Promise<T>;
    importKey<T>(params: ImportKeyInput): Promise<T>;
    listAliases<T>(params: ListAliasesInput): Promise<T>;
    listKeys<T>(params: ListKeysInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    removeKeyReplicationRegions<T>(params: RemoveKeyReplicationRegionsInput): Promise<T>;
    restoreKey<T>(params: RestoreKeyInput): Promise<T>;
    startKeyUsage<T>(params: StartKeyUsageInput): Promise<T>;
    stopKeyUsage<T>(params: StopKeyUsageInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAlias<T>(params: UpdateAliasInput): Promise<T>;
}
//# sourceMappingURL=PaymentCryptography.d.ts.map