import { z as z$1 } from "zod";
//#region src/modules/kms/options/KmsKeyAgreementDecryptOptions.d.ts
declare const zKmsKeyAgreementDecryptEcdhEsKw: z$1.ZodObject<{
  keyId: z$1.ZodString;
  algorithm: z$1.ZodEnum<{
    "ECDH-ES+A128KW": "ECDH-ES+A128KW";
    "ECDH-ES+A192KW": "ECDH-ES+A192KW";
    "ECDH-ES+A256KW": "ECDH-ES+A256KW";
  }>;
  externalPublicJwk: z$1.ZodUnion<readonly [z$1.ZodObject<{
    kty: z$1.ZodLiteral<"OKP">;
    x: z$1.ZodString;
    d: z$1.ZodOptional<z$1.ZodString>;
    kid: z$1.ZodOptional<z$1.ZodString>;
    alg: z$1.ZodOptional<z$1.ZodString>;
    key_ops: z$1.ZodOptional<z$1.ZodArray<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sign">, z$1.ZodLiteral<"verify">, z$1.ZodLiteral<"encrypt">, z$1.ZodLiteral<"decrypt">, z$1.ZodLiteral<"wrapKey">, z$1.ZodLiteral<"unwrapKey">, z$1.ZodLiteral<"deriveKey">, z$1.ZodLiteral<"deriveBits">]>, z$1.ZodString]>>>;
    use: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sig">, z$1.ZodLiteral<"enc">]>, z$1.ZodString]>>;
    ext: z$1.ZodOptional<z$1.ZodBoolean>;
    x5c: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
    x5t: z$1.ZodOptional<z$1.ZodString>;
    'x5t#S256': z$1.ZodOptional<z$1.ZodString>;
    x5u: z$1.ZodOptional<z$1.ZodString>;
    crv: z$1.ZodEnum<{
      X25519: "X25519";
    }>;
  }, z$1.core.$strip>, z$1.ZodObject<{
    kty: z$1.ZodLiteral<"EC">;
    x: z$1.ZodString;
    y: z$1.ZodString;
    d: z$1.ZodOptional<z$1.ZodUndefined>;
    kid: z$1.ZodOptional<z$1.ZodString>;
    alg: z$1.ZodOptional<z$1.ZodString>;
    key_ops: z$1.ZodOptional<z$1.ZodArray<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sign">, z$1.ZodLiteral<"verify">, z$1.ZodLiteral<"encrypt">, z$1.ZodLiteral<"decrypt">, z$1.ZodLiteral<"wrapKey">, z$1.ZodLiteral<"unwrapKey">, z$1.ZodLiteral<"deriveKey">, z$1.ZodLiteral<"deriveBits">]>, z$1.ZodString]>>>;
    use: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sig">, z$1.ZodLiteral<"enc">]>, z$1.ZodString]>>;
    ext: z$1.ZodOptional<z$1.ZodBoolean>;
    x5c: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
    x5t: z$1.ZodOptional<z$1.ZodString>;
    'x5t#S256': z$1.ZodOptional<z$1.ZodString>;
    x5u: z$1.ZodOptional<z$1.ZodString>;
    crv: z$1.ZodEnum<{
      "P-256": "P-256";
      "P-384": "P-384";
      "P-521": "P-521";
      secp256k1: "secp256k1";
    }>;
  }, z$1.core.$strip>]>;
  encryptedKey: z$1.ZodObject<{
    tag: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
    iv: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
    encrypted: z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>;
  }, z$1.core.$strip>;
  apu: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
  apv: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
}, z$1.core.$strip>;
export type KmsKeyAgreementDecryptEcdhEsKw = z$1.output<typeof zKmsKeyAgreementDecryptEcdhEsKw>;
declare const zKmsKeyAgreementDecryptEcdhHsalsa20: z$1.ZodObject<{
  keyId: z$1.ZodString;
  algorithm: z$1.ZodLiteral<"ECDH-HSALSA20">;
  externalPublicJwk: z$1.ZodOptional<z$1.ZodObject<{
    kty: z$1.ZodLiteral<"OKP">;
    x: z$1.ZodString;
    d: z$1.ZodOptional<z$1.ZodString>;
    kid: z$1.ZodOptional<z$1.ZodString>;
    alg: z$1.ZodOptional<z$1.ZodString>;
    key_ops: z$1.ZodOptional<z$1.ZodArray<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sign">, z$1.ZodLiteral<"verify">, z$1.ZodLiteral<"encrypt">, z$1.ZodLiteral<"decrypt">, z$1.ZodLiteral<"wrapKey">, z$1.ZodLiteral<"unwrapKey">, z$1.ZodLiteral<"deriveKey">, z$1.ZodLiteral<"deriveBits">]>, z$1.ZodString]>>>;
    use: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sig">, z$1.ZodLiteral<"enc">]>, z$1.ZodString]>>;
    ext: z$1.ZodOptional<z$1.ZodBoolean>;
    x5c: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
    x5t: z$1.ZodOptional<z$1.ZodString>;
    'x5t#S256': z$1.ZodOptional<z$1.ZodString>;
    x5u: z$1.ZodOptional<z$1.ZodString>;
    crv: z$1.ZodEnum<{
      X25519: "X25519";
    }>;
  }, z$1.core.$strip>>;
}, z$1.core.$strip>;
export type KmsKeyAgreementDecryptEcdhHsalsa20 = z$1.output<typeof zKmsKeyAgreementDecryptEcdhHsalsa20>;
export declare const zKmsKeyAgreementDecryptHpke: z$1.ZodObject<{
  keyId: z$1.ZodString;
  algorithm: z$1.ZodEnum<{
    "HPKE-0": "HPKE-0";
    "HPKE-3": "HPKE-3";
    "HPKE-7": "HPKE-7";
  }>;
  encapsulatedKey: z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>;
  info: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
}, z$1.core.$strip>;
export type KmsKeyAgreementDecryptHpke = z$1.output<typeof zKmsKeyAgreementDecryptHpke>;
export declare const zKmsKeyAgreementDecryptOptions: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
  keyId: z$1.ZodString;
  algorithm: z$1.ZodLiteral<"ECDH-ES">;
  externalPublicJwk: z$1.ZodUnion<readonly [z$1.ZodObject<{
    kty: z$1.ZodLiteral<"OKP">;
    x: z$1.ZodString;
    d: z$1.ZodOptional<z$1.ZodString>;
    kid: z$1.ZodOptional<z$1.ZodString>;
    alg: z$1.ZodOptional<z$1.ZodString>;
    key_ops: z$1.ZodOptional<z$1.ZodArray<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sign">, z$1.ZodLiteral<"verify">, z$1.ZodLiteral<"encrypt">, z$1.ZodLiteral<"decrypt">, z$1.ZodLiteral<"wrapKey">, z$1.ZodLiteral<"unwrapKey">, z$1.ZodLiteral<"deriveKey">, z$1.ZodLiteral<"deriveBits">]>, z$1.ZodString]>>>;
    use: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sig">, z$1.ZodLiteral<"enc">]>, z$1.ZodString]>>;
    ext: z$1.ZodOptional<z$1.ZodBoolean>;
    x5c: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
    x5t: z$1.ZodOptional<z$1.ZodString>;
    'x5t#S256': z$1.ZodOptional<z$1.ZodString>;
    x5u: z$1.ZodOptional<z$1.ZodString>;
    crv: z$1.ZodEnum<{
      X25519: "X25519";
    }>;
  }, z$1.core.$strip>, z$1.ZodObject<{
    kty: z$1.ZodLiteral<"EC">;
    x: z$1.ZodString;
    y: z$1.ZodString;
    d: z$1.ZodOptional<z$1.ZodUndefined>;
    kid: z$1.ZodOptional<z$1.ZodString>;
    alg: z$1.ZodOptional<z$1.ZodString>;
    key_ops: z$1.ZodOptional<z$1.ZodArray<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sign">, z$1.ZodLiteral<"verify">, z$1.ZodLiteral<"encrypt">, z$1.ZodLiteral<"decrypt">, z$1.ZodLiteral<"wrapKey">, z$1.ZodLiteral<"unwrapKey">, z$1.ZodLiteral<"deriveKey">, z$1.ZodLiteral<"deriveBits">]>, z$1.ZodString]>>>;
    use: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sig">, z$1.ZodLiteral<"enc">]>, z$1.ZodString]>>;
    ext: z$1.ZodOptional<z$1.ZodBoolean>;
    x5c: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
    x5t: z$1.ZodOptional<z$1.ZodString>;
    'x5t#S256': z$1.ZodOptional<z$1.ZodString>;
    x5u: z$1.ZodOptional<z$1.ZodString>;
    crv: z$1.ZodEnum<{
      "P-256": "P-256";
      "P-384": "P-384";
      "P-521": "P-521";
      secp256k1: "secp256k1";
    }>;
  }, z$1.core.$strip>]>;
  apu: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
  apv: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
}, z$1.core.$strip>, z$1.ZodObject<{
  keyId: z$1.ZodString;
  algorithm: z$1.ZodEnum<{
    "ECDH-ES+A128KW": "ECDH-ES+A128KW";
    "ECDH-ES+A192KW": "ECDH-ES+A192KW";
    "ECDH-ES+A256KW": "ECDH-ES+A256KW";
  }>;
  externalPublicJwk: z$1.ZodUnion<readonly [z$1.ZodObject<{
    kty: z$1.ZodLiteral<"OKP">;
    x: z$1.ZodString;
    d: z$1.ZodOptional<z$1.ZodString>;
    kid: z$1.ZodOptional<z$1.ZodString>;
    alg: z$1.ZodOptional<z$1.ZodString>;
    key_ops: z$1.ZodOptional<z$1.ZodArray<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sign">, z$1.ZodLiteral<"verify">, z$1.ZodLiteral<"encrypt">, z$1.ZodLiteral<"decrypt">, z$1.ZodLiteral<"wrapKey">, z$1.ZodLiteral<"unwrapKey">, z$1.ZodLiteral<"deriveKey">, z$1.ZodLiteral<"deriveBits">]>, z$1.ZodString]>>>;
    use: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sig">, z$1.ZodLiteral<"enc">]>, z$1.ZodString]>>;
    ext: z$1.ZodOptional<z$1.ZodBoolean>;
    x5c: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
    x5t: z$1.ZodOptional<z$1.ZodString>;
    'x5t#S256': z$1.ZodOptional<z$1.ZodString>;
    x5u: z$1.ZodOptional<z$1.ZodString>;
    crv: z$1.ZodEnum<{
      X25519: "X25519";
    }>;
  }, z$1.core.$strip>, z$1.ZodObject<{
    kty: z$1.ZodLiteral<"EC">;
    x: z$1.ZodString;
    y: z$1.ZodString;
    d: z$1.ZodOptional<z$1.ZodUndefined>;
    kid: z$1.ZodOptional<z$1.ZodString>;
    alg: z$1.ZodOptional<z$1.ZodString>;
    key_ops: z$1.ZodOptional<z$1.ZodArray<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sign">, z$1.ZodLiteral<"verify">, z$1.ZodLiteral<"encrypt">, z$1.ZodLiteral<"decrypt">, z$1.ZodLiteral<"wrapKey">, z$1.ZodLiteral<"unwrapKey">, z$1.ZodLiteral<"deriveKey">, z$1.ZodLiteral<"deriveBits">]>, z$1.ZodString]>>>;
    use: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sig">, z$1.ZodLiteral<"enc">]>, z$1.ZodString]>>;
    ext: z$1.ZodOptional<z$1.ZodBoolean>;
    x5c: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
    x5t: z$1.ZodOptional<z$1.ZodString>;
    'x5t#S256': z$1.ZodOptional<z$1.ZodString>;
    x5u: z$1.ZodOptional<z$1.ZodString>;
    crv: z$1.ZodEnum<{
      "P-256": "P-256";
      "P-384": "P-384";
      "P-521": "P-521";
      secp256k1: "secp256k1";
    }>;
  }, z$1.core.$strip>]>;
  encryptedKey: z$1.ZodObject<{
    tag: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
    iv: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
    encrypted: z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>;
  }, z$1.core.$strip>;
  apu: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
  apv: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
}, z$1.core.$strip>, z$1.ZodObject<{
  keyId: z$1.ZodString;
  algorithm: z$1.ZodLiteral<"ECDH-HSALSA20">;
  externalPublicJwk: z$1.ZodOptional<z$1.ZodObject<{
    kty: z$1.ZodLiteral<"OKP">;
    x: z$1.ZodString;
    d: z$1.ZodOptional<z$1.ZodString>;
    kid: z$1.ZodOptional<z$1.ZodString>;
    alg: z$1.ZodOptional<z$1.ZodString>;
    key_ops: z$1.ZodOptional<z$1.ZodArray<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sign">, z$1.ZodLiteral<"verify">, z$1.ZodLiteral<"encrypt">, z$1.ZodLiteral<"decrypt">, z$1.ZodLiteral<"wrapKey">, z$1.ZodLiteral<"unwrapKey">, z$1.ZodLiteral<"deriveKey">, z$1.ZodLiteral<"deriveBits">]>, z$1.ZodString]>>>;
    use: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodUnion<readonly [z$1.ZodLiteral<"sig">, z$1.ZodLiteral<"enc">]>, z$1.ZodString]>>;
    ext: z$1.ZodOptional<z$1.ZodBoolean>;
    x5c: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
    x5t: z$1.ZodOptional<z$1.ZodString>;
    'x5t#S256': z$1.ZodOptional<z$1.ZodString>;
    x5u: z$1.ZodOptional<z$1.ZodString>;
    crv: z$1.ZodEnum<{
      X25519: "X25519";
    }>;
  }, z$1.core.$strip>>;
}, z$1.core.$strip>, z$1.ZodObject<{
  keyId: z$1.ZodString;
  algorithm: z$1.ZodEnum<{
    "HPKE-0": "HPKE-0";
    "HPKE-3": "HPKE-3";
    "HPKE-7": "HPKE-7";
  }>;
  encapsulatedKey: z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>;
  info: z$1.ZodOptional<z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>>;
}, z$1.core.$strip>], "algorithm">;
export type KmsKeyAgreementDecryptOptions = z$1.output<typeof zKmsKeyAgreementDecryptOptions>;
export declare function isKmsKeyAgreementDecryptHpke(keyAgreement: KmsKeyAgreementDecryptOptions): keyAgreement is KmsKeyAgreementDecryptHpke;
//#endregion
//# sourceMappingURL=KmsKeyAgreementDecryptOptions.d.mts.map