import { KmsJwkPublic } from "../jwk/knownJwk.mjs";
import { z as z$1 } from "zod";
//#region src/modules/kms/options/KmsVerifyOptions.d.ts
export declare const zKmsVerifyOptions: z$1.ZodObject<{
  key: z$1.ZodUnion<readonly [z$1.ZodObject<{
    keyId: z$1.ZodString;
    publicJwk: z$1.ZodOptional<z$1.ZodNever>;
  }, z$1.core.$strip>, z$1.ZodObject<{
    publicJwk: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
      kty: z$1.ZodLiteral<"EC">;
      crv: z$1.ZodEnum<{
        "P-256": "P-256";
        "P-384": "P-384";
        "P-521": "P-521";
        secp256k1: "secp256k1";
      }>;
      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>;
    }, z$1.core.$strip>, z$1.ZodObject<{
      kty: z$1.ZodLiteral<"RSA">;
      n: z$1.ZodString;
      e: z$1.ZodString;
      d: z$1.ZodOptional<z$1.ZodUndefined>;
      p: z$1.ZodOptional<z$1.ZodUndefined>;
      q: z$1.ZodOptional<z$1.ZodUndefined>;
      dp: z$1.ZodOptional<z$1.ZodUndefined>;
      dq: z$1.ZodOptional<z$1.ZodUndefined>;
      qi: z$1.ZodOptional<z$1.ZodUndefined>;
      oth: 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>;
    }, z$1.core.$strip>, z$1.ZodObject<{
      kty: z$1.ZodLiteral<"OKP">;
      crv: z$1.ZodEnum<{
        Ed25519: "Ed25519";
        X25519: "X25519";
      }>;
      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>;
    }, z$1.core.$strip>], "kty">;
    keyId: z$1.ZodOptional<z$1.ZodNever>;
  }, z$1.core.$strip>]>;
  algorithm: z$1.ZodEnum<{
    HS256: "HS256";
    HS384: "HS384";
    HS512: "HS512";
    RS256: "RS256";
    RS384: "RS384";
    RS512: "RS512";
    ES256: "ES256";
    ES384: "ES384";
    ES512: "ES512";
    PS256: "PS256";
    PS384: "PS384";
    PS512: "PS512";
    EdDSA: "EdDSA";
    Ed25519: "Ed25519";
    ES256K: "ES256K";
  }>;
  data: z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>;
  signature: z$1.ZodInstanceOf<Uint8Array<ArrayBufferLike>>;
}, z$1.core.$strip>;
export type KmsVerifyOptions = z$1.output<typeof zKmsVerifyOptions>;
export type KmsVerifyReturn = {
  verified: true;
  publicJwk: KmsJwkPublic;
} | {
  verified: false;
};
//#endregion
//# sourceMappingURL=KmsVerifyOptions.d.mts.map