import { KmsJwkPublicOkp } from "./okpJwk.js";
import { KnownJwaSignatureAlgorithm } from "../../jwa.js";
import { PublicJwkType } from "../PublicJwk.js";

//#region src/modules/kms/jwk/kty/okp/X25519PublicJwk.d.ts
type Jwk = KmsJwkPublicOkp & {
  crv: 'X25519';
};
declare class X25519PublicJwk implements PublicJwkType<Jwk> {
  readonly jwk: Jwk;
  static supportdEncryptionKeyAgreementAlgorithms: "ECDH-HSALSA20"[];
  static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[];
  static multicodecPrefix: number;
  supportdEncryptionKeyAgreementAlgorithms: "ECDH-HSALSA20"[];
  supportedSignatureAlgorithms: ("HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512" | "EdDSA" | "ES256K")[];
  multicodecPrefix: number;
  constructor(jwk: Jwk);
  get publicKey(): {
    crv: "X25519";
    kty: "OKP";
    publicKey: Uint8Array<ArrayBufferLike>;
  };
  /**
   * Not supported for X25519
   */
  get compressedPublicKey(): null;
  get multicodec(): Uint8Array<ArrayBufferLike>;
  static fromPublicKey(publicKey: Uint8Array): X25519PublicJwk;
  static fromMulticodec(multicodec: Uint8Array): X25519PublicJwk;
}
//#endregion
export { X25519PublicJwk };
//# sourceMappingURL=X25519PublicJwk.d.ts.map