import { As2805KeyVariant, AssociationState, DeriveKeyUsage, KeyAlgorithm, KeyCheckValueAlgorithm, KeyClass, KeyDerivationFunction, KeyDerivationHashAlgorithm, KeyExportability, KeyMaterialType, KeyOrigin, KeyReplicationState, KeyState, KeyUsage, MpaOperation, MultiRegionKeyType, SessionStatus, SigningAlgorithmType, SymmetricKeyAlgorithm, Tr34KeyBlockFormat, WrappedKeyMaterialFormat, WrappingKeySpec, } from "./enums"; export interface AddKeyReplicationRegionsInput { KeyIdentifier: string | undefined; ReplicationRegions: string[] | undefined; } export interface KeyModesOfUse { Encrypt?: boolean | undefined; Decrypt?: boolean | undefined; Wrap?: boolean | undefined; Unwrap?: boolean | undefined; Generate?: boolean | undefined; Sign?: boolean | undefined; Verify?: boolean | undefined; DeriveKey?: boolean | undefined; NoRestrictions?: boolean | undefined; } export interface KeyAttributes { KeyUsage: KeyUsage | undefined; KeyClass: KeyClass | undefined; KeyAlgorithm: KeyAlgorithm | undefined; KeyModesOfUse: KeyModesOfUse | undefined; } export interface MpaStatus { MpaSessionArn: string | undefined; Status: SessionStatus | undefined; InitiationDate: Date | undefined; StatusMessage?: string | undefined; } export interface ReplicationStatusType { Status: KeyReplicationState | undefined; StatusMessage?: string | undefined; } export interface Key { KeyArn: string | undefined; KeyAttributes: KeyAttributes | undefined; KeyCheckValue: string | undefined; KeyCheckValueAlgorithm: KeyCheckValueAlgorithm | undefined; Enabled: boolean | undefined; Exportable: boolean | undefined; KeyState: KeyState | undefined; KeyOrigin: KeyOrigin | undefined; CreateTimestamp: Date | undefined; UsageStartTimestamp?: Date | undefined; UsageStopTimestamp?: Date | undefined; DeletePendingTimestamp?: Date | undefined; DeleteTimestamp?: Date | undefined; DeriveKeyUsage?: DeriveKeyUsage | undefined; MultiRegionKeyType?: MultiRegionKeyType | undefined; PrimaryRegion?: string | undefined; ReplicationStatus?: Record | undefined; UsingDefaultReplicationRegions?: boolean | undefined; MpaStatus?: MpaStatus | undefined; } export interface AddKeyReplicationRegionsOutput { Key: Key | undefined; } export interface Alias { AliasName: string | undefined; KeyArn?: string | undefined; } export interface CreateAliasInput { AliasName: string | undefined; KeyArn?: string | undefined; } export interface CreateAliasOutput { Alias: Alias | undefined; } export interface DeleteAliasInput { AliasName: string | undefined; } export interface DeleteAliasOutput {} export interface GetAliasInput { AliasName: string | undefined; } export interface GetAliasOutput { Alias: Alias | undefined; } export interface ListAliasesInput { KeyArn?: string | undefined; NextToken?: string | undefined; MaxResults?: number | undefined; } export interface ListAliasesOutput { Aliases: Alias[] | undefined; NextToken?: string | undefined; } export interface UpdateAliasInput { AliasName: string | undefined; KeyArn?: string | undefined; } export interface UpdateAliasOutput { Alias: Alias | undefined; } export interface AssociateMpaTeamInput { Action: MpaOperation | undefined; MpaTeamArn: string | undefined; RequesterComment?: string | undefined; } export interface MpaTeamAssociation { Action: MpaOperation | undefined; MpaTeamArn: string | undefined; AssociationState: AssociationState | undefined; MpaStatus?: MpaStatus | undefined; } export interface AssociateMpaTeamOutput { MpaTeamAssociation: MpaTeamAssociation | undefined; } export interface CertificateSubjectType { CommonName: string | undefined; OrganizationUnit?: string | undefined; Organization?: string | undefined; City?: string | undefined; Country?: string | undefined; StateOrProvince?: string | undefined; EmailAddress?: string | undefined; } export interface Tag { Key: string | undefined; Value: string | undefined; } export interface CreateKeyInput { KeyAttributes: KeyAttributes | undefined; KeyCheckValueAlgorithm?: KeyCheckValueAlgorithm | undefined; Exportable: boolean | undefined; Enabled?: boolean | undefined; Tags?: Tag[] | undefined; DeriveKeyUsage?: DeriveKeyUsage | undefined; ReplicationRegions?: string[] | undefined; } export interface CreateKeyOutput { Key: Key | undefined; } export interface DeleteKeyInput { KeyIdentifier: string | undefined; DeleteKeyInDays?: number | undefined; } export interface DeleteKeyOutput { Key: Key | undefined; } export interface DeleteResourcePolicyInput { ResourceArn: string | undefined; } export interface DeleteResourcePolicyOutput {} export type DiffieHellmanDerivationData = | DiffieHellmanDerivationData.SharedInformationMember | DiffieHellmanDerivationData.$UnknownMember; export declare namespace DiffieHellmanDerivationData { interface SharedInformationMember { SharedInformation: string; $unknown?: never; } interface $UnknownMember { SharedInformation?: never; $unknown: [string, any]; } interface Visitor { SharedInformation: (value: string) => T; _: (name: string, value: any) => T; } } export interface DisableDefaultKeyReplicationRegionsInput { ReplicationRegions: string[] | undefined; } export interface DisableDefaultKeyReplicationRegionsOutput { EnabledReplicationRegions: string[] | undefined; } export interface DisassociateMpaTeamInput { Action: MpaOperation | undefined; RequesterComment?: string | undefined; } export interface DisassociateMpaTeamOutput { MpaTeamAssociation: MpaTeamAssociation | undefined; } export interface EnableDefaultKeyReplicationRegionsInput { ReplicationRegions: string[] | undefined; } export interface EnableDefaultKeyReplicationRegionsOutput { EnabledReplicationRegions: string[] | undefined; } export interface ExportAs2805KeyCryptogram { WrappingKeyIdentifier: string | undefined; As2805KeyVariant: As2805KeyVariant | undefined; } export interface ExportDukptInitialKey { KeySerialNumber: string | undefined; } export interface ExportAttributes { ExportDukptInitialKey?: ExportDukptInitialKey | undefined; KeyCheckValueAlgorithm?: KeyCheckValueAlgorithm | undefined; } export interface KeyBlockHeaders { KeyModesOfUse?: KeyModesOfUse | undefined; KeyExportability?: KeyExportability | undefined; KeyVersion?: string | undefined; OptionalBlocks?: Record | undefined; } export interface ExportDiffieHellmanTr31KeyBlock { PrivateKeyIdentifier: string | undefined; CertificateAuthorityPublicKeyIdentifier: string | undefined; PublicKeyCertificate: string | undefined; DeriveKeyAlgorithm: SymmetricKeyAlgorithm | undefined; KeyDerivationFunction: KeyDerivationFunction | undefined; KeyDerivationHashAlgorithm: KeyDerivationHashAlgorithm | undefined; DerivationData: DiffieHellmanDerivationData | undefined; KeyBlockHeaders?: KeyBlockHeaders | undefined; } export interface ExportKeyCryptogram { CertificateAuthorityPublicKeyIdentifier: string | undefined; WrappingKeyCertificate: string | undefined; WrappingSpec?: WrappingKeySpec | undefined; } export interface ExportTr31KeyBlock { WrappingKeyIdentifier: string | undefined; KeyBlockHeaders?: KeyBlockHeaders | undefined; } export interface ExportTr34KeyBlock { CertificateAuthorityPublicKeyIdentifier: string | undefined; WrappingKeyCertificate: string | undefined; ExportToken?: string | undefined; SigningKeyIdentifier?: string | undefined; SigningKeyCertificate?: string | undefined; KeyBlockFormat: Tr34KeyBlockFormat | undefined; RandomNonce?: string | undefined; KeyBlockHeaders?: KeyBlockHeaders | undefined; } export type ExportKeyMaterial = | ExportKeyMaterial.As2805KeyCryptogramMember | ExportKeyMaterial.DiffieHellmanTr31KeyBlockMember | ExportKeyMaterial.KeyCryptogramMember | ExportKeyMaterial.Tr31KeyBlockMember | ExportKeyMaterial.Tr34KeyBlockMember | ExportKeyMaterial.$UnknownMember; export declare namespace ExportKeyMaterial { interface Tr31KeyBlockMember { Tr31KeyBlock: ExportTr31KeyBlock; Tr34KeyBlock?: never; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram?: never; $unknown?: never; } interface Tr34KeyBlockMember { Tr31KeyBlock?: never; Tr34KeyBlock: ExportTr34KeyBlock; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram?: never; $unknown?: never; } interface KeyCryptogramMember { Tr31KeyBlock?: never; Tr34KeyBlock?: never; KeyCryptogram: ExportKeyCryptogram; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram?: never; $unknown?: never; } interface DiffieHellmanTr31KeyBlockMember { Tr31KeyBlock?: never; Tr34KeyBlock?: never; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock: ExportDiffieHellmanTr31KeyBlock; As2805KeyCryptogram?: never; $unknown?: never; } interface As2805KeyCryptogramMember { Tr31KeyBlock?: never; Tr34KeyBlock?: never; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram: ExportAs2805KeyCryptogram; $unknown?: never; } interface $UnknownMember { Tr31KeyBlock?: never; Tr34KeyBlock?: never; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram?: never; $unknown: [string, any]; } interface Visitor { Tr31KeyBlock: (value: ExportTr31KeyBlock) => T; Tr34KeyBlock: (value: ExportTr34KeyBlock) => T; KeyCryptogram: (value: ExportKeyCryptogram) => T; DiffieHellmanTr31KeyBlock: (value: ExportDiffieHellmanTr31KeyBlock) => T; As2805KeyCryptogram: (value: ExportAs2805KeyCryptogram) => T; _: (name: string, value: any) => T; } } export interface ExportKeyInput { KeyMaterial: ExportKeyMaterial | undefined; ExportKeyIdentifier: string | undefined; ExportAttributes?: ExportAttributes | undefined; } export interface WrappedKey { WrappingKeyArn: string | undefined; WrappedKeyMaterialFormat: WrappedKeyMaterialFormat | undefined; KeyMaterial: string | undefined; KeyCheckValue?: string | undefined; KeyCheckValueAlgorithm?: KeyCheckValueAlgorithm | undefined; } export interface ExportKeyOutput { WrappedKey?: WrappedKey | undefined; } export interface GetCertificateSigningRequestInput { KeyIdentifier: string | undefined; SigningAlgorithm: SigningAlgorithmType | undefined; CertificateSubject: CertificateSubjectType | undefined; } export interface GetCertificateSigningRequestOutput { CertificateSigningRequest: string | undefined; } export interface GetDefaultKeyReplicationRegionsInput {} export interface GetDefaultKeyReplicationRegionsOutput { EnabledReplicationRegions: string[] | undefined; } export interface GetKeyInput { KeyIdentifier: string | undefined; } export interface GetKeyOutput { Key: Key | undefined; } export interface GetMpaTeamAssociationInput { Action: MpaOperation | undefined; } export interface GetMpaTeamAssociationOutput { MpaTeamAssociation: MpaTeamAssociation | undefined; } export interface GetParametersForExportInput { KeyMaterialType: KeyMaterialType | undefined; SigningKeyAlgorithm: KeyAlgorithm | undefined; ReuseLastGeneratedToken?: boolean | undefined; } export interface GetParametersForExportOutput { SigningKeyCertificate: string | undefined; SigningKeyCertificateChain: string | undefined; SigningKeyAlgorithm: KeyAlgorithm | undefined; ExportToken: string | undefined; ParametersValidUntilTimestamp: Date | undefined; } export interface GetParametersForImportInput { KeyMaterialType: KeyMaterialType | undefined; WrappingKeyAlgorithm: KeyAlgorithm | undefined; ReuseLastGeneratedToken?: boolean | undefined; } export interface GetParametersForImportOutput { WrappingKeyCertificate: string | undefined; WrappingKeyCertificateChain: string | undefined; WrappingKeyAlgorithm: KeyAlgorithm | undefined; ImportToken: string | undefined; ParametersValidUntilTimestamp: Date | undefined; } export interface GetPublicKeyCertificateInput { KeyIdentifier: string | undefined; } export interface GetPublicKeyCertificateOutput { KeyCertificate: string | undefined; KeyCertificateChain: string | undefined; } export interface GetResourcePolicyInput { ResourceArn: string | undefined; } export interface GetResourcePolicyOutput { ResourceArn: string | undefined; Policy: string | undefined; } export interface ImportAs2805KeyCryptogram { As2805KeyVariant: As2805KeyVariant | undefined; KeyModesOfUse: KeyModesOfUse | undefined; KeyAlgorithm: KeyAlgorithm | undefined; Exportable: boolean | undefined; WrappingKeyIdentifier: string | undefined; WrappedKeyCryptogram: string | undefined; } export interface ImportDiffieHellmanTr31KeyBlock { PrivateKeyIdentifier: string | undefined; CertificateAuthorityPublicKeyIdentifier: string | undefined; PublicKeyCertificate: string | undefined; DeriveKeyAlgorithm: SymmetricKeyAlgorithm | undefined; KeyDerivationFunction: KeyDerivationFunction | undefined; KeyDerivationHashAlgorithm: KeyDerivationHashAlgorithm | undefined; DerivationData: DiffieHellmanDerivationData | undefined; WrappedKeyBlock: string | undefined; } export interface ImportKeyCryptogram { KeyAttributes: KeyAttributes | undefined; Exportable: boolean | undefined; WrappedKeyCryptogram: string | undefined; ImportToken: string | undefined; WrappingSpec?: WrappingKeySpec | undefined; } export interface RootCertificatePublicKey { KeyAttributes: KeyAttributes | undefined; PublicKeyCertificate: string | undefined; } export interface ImportTr31KeyBlock { WrappingKeyIdentifier: string | undefined; WrappedKeyBlock: string | undefined; } export interface ImportTr34KeyBlock { CertificateAuthorityPublicKeyIdentifier: string | undefined; SigningKeyCertificate: string | undefined; ImportToken?: string | undefined; WrappingKeyIdentifier?: string | undefined; WrappingKeyCertificate?: string | undefined; WrappedKeyBlock: string | undefined; KeyBlockFormat: Tr34KeyBlockFormat | undefined; RandomNonce?: string | undefined; } export interface TrustedCertificatePublicKey { KeyAttributes: KeyAttributes | undefined; PublicKeyCertificate: string | undefined; CertificateAuthorityPublicKeyIdentifier: string | undefined; } export type ImportKeyMaterial = | ImportKeyMaterial.As2805KeyCryptogramMember | ImportKeyMaterial.DiffieHellmanTr31KeyBlockMember | ImportKeyMaterial.KeyCryptogramMember | ImportKeyMaterial.RootCertificatePublicKeyMember | ImportKeyMaterial.Tr31KeyBlockMember | ImportKeyMaterial.Tr34KeyBlockMember | ImportKeyMaterial.TrustedCertificatePublicKeyMember | ImportKeyMaterial.$UnknownMember; export declare namespace ImportKeyMaterial { interface RootCertificatePublicKeyMember { RootCertificatePublicKey: RootCertificatePublicKey; TrustedCertificatePublicKey?: never; Tr31KeyBlock?: never; Tr34KeyBlock?: never; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram?: never; $unknown?: never; } interface TrustedCertificatePublicKeyMember { RootCertificatePublicKey?: never; TrustedCertificatePublicKey: TrustedCertificatePublicKey; Tr31KeyBlock?: never; Tr34KeyBlock?: never; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram?: never; $unknown?: never; } interface Tr31KeyBlockMember { RootCertificatePublicKey?: never; TrustedCertificatePublicKey?: never; Tr31KeyBlock: ImportTr31KeyBlock; Tr34KeyBlock?: never; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram?: never; $unknown?: never; } interface Tr34KeyBlockMember { RootCertificatePublicKey?: never; TrustedCertificatePublicKey?: never; Tr31KeyBlock?: never; Tr34KeyBlock: ImportTr34KeyBlock; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram?: never; $unknown?: never; } interface KeyCryptogramMember { RootCertificatePublicKey?: never; TrustedCertificatePublicKey?: never; Tr31KeyBlock?: never; Tr34KeyBlock?: never; KeyCryptogram: ImportKeyCryptogram; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram?: never; $unknown?: never; } interface DiffieHellmanTr31KeyBlockMember { RootCertificatePublicKey?: never; TrustedCertificatePublicKey?: never; Tr31KeyBlock?: never; Tr34KeyBlock?: never; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock: ImportDiffieHellmanTr31KeyBlock; As2805KeyCryptogram?: never; $unknown?: never; } interface As2805KeyCryptogramMember { RootCertificatePublicKey?: never; TrustedCertificatePublicKey?: never; Tr31KeyBlock?: never; Tr34KeyBlock?: never; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram: ImportAs2805KeyCryptogram; $unknown?: never; } interface $UnknownMember { RootCertificatePublicKey?: never; TrustedCertificatePublicKey?: never; Tr31KeyBlock?: never; Tr34KeyBlock?: never; KeyCryptogram?: never; DiffieHellmanTr31KeyBlock?: never; As2805KeyCryptogram?: never; $unknown: [string, any]; } interface Visitor { RootCertificatePublicKey: (value: RootCertificatePublicKey) => T; TrustedCertificatePublicKey: (value: TrustedCertificatePublicKey) => T; Tr31KeyBlock: (value: ImportTr31KeyBlock) => T; Tr34KeyBlock: (value: ImportTr34KeyBlock) => T; KeyCryptogram: (value: ImportKeyCryptogram) => T; DiffieHellmanTr31KeyBlock: (value: ImportDiffieHellmanTr31KeyBlock) => T; As2805KeyCryptogram: (value: ImportAs2805KeyCryptogram) => T; _: (name: string, value: any) => T; } } export interface ImportKeyInput { KeyMaterial: ImportKeyMaterial | undefined; KeyCheckValueAlgorithm?: KeyCheckValueAlgorithm | undefined; Enabled?: boolean | undefined; Tags?: Tag[] | undefined; ReplicationRegions?: string[] | undefined; RequesterComment?: string | undefined; } export interface ImportKeyOutput { Key: Key | undefined; } export interface ListKeysInput { KeyState?: KeyState | undefined; NextToken?: string | undefined; MaxResults?: number | undefined; } export interface KeySummary { KeyArn: string | undefined; KeyState: KeyState | undefined; KeyAttributes: KeyAttributes | undefined; KeyCheckValue: string | undefined; Exportable: boolean | undefined; Enabled: boolean | undefined; MultiRegionKeyType?: MultiRegionKeyType | undefined; PrimaryRegion?: string | undefined; } export interface ListKeysOutput { Keys: KeySummary[] | undefined; NextToken?: string | undefined; } export interface RemoveKeyReplicationRegionsInput { KeyIdentifier: string | undefined; ReplicationRegions: string[] | undefined; } export interface RemoveKeyReplicationRegionsOutput { Key: Key | undefined; } export interface RestoreKeyInput { KeyIdentifier: string | undefined; } export interface RestoreKeyOutput { Key: Key | undefined; } export interface StartKeyUsageInput { KeyIdentifier: string | undefined; } export interface StartKeyUsageOutput { Key: Key | undefined; } export interface StopKeyUsageInput { KeyIdentifier: string | undefined; } export interface StopKeyUsageOutput { Key: Key | undefined; } export interface ListTagsForResourceInput { ResourceArn: string | undefined; NextToken?: string | undefined; MaxResults?: number | undefined; } export interface ListTagsForResourceOutput { Tags: Tag[] | undefined; NextToken?: string | undefined; } export interface PutResourcePolicyInput { ResourceArn: string | undefined; Policy: string | undefined; } export interface PutResourcePolicyOutput { ResourceArn: string | undefined; Policy: string | undefined; } export interface TagResourceInput { ResourceArn: string | undefined; Tags: Tag[] | undefined; } export interface TagResourceOutput {} export interface UntagResourceInput { ResourceArn: string | undefined; TagKeys: string[] | undefined; } export interface UntagResourceOutput {}