import { KnownJwaKeyAgreementAlgorithm, KnownJwaSignatureAlgorithm } from "../../jwa.js";
import { AnyUint8Array, Uint8ArrayBuffer } from "../../../../../types.js";
import { KmsJwkPublicRsa } from "./rsaJwk.js";
import { PublicJwkType } from "../PublicJwk.js";

//#region src/modules/kms/jwk/kty/rsa/RsaPublicJwk.d.ts
declare class RsaPublicJwk implements PublicJwkType<KmsJwkPublicRsa> {
  readonly jwk: KmsJwkPublicRsa;
  static supportdEncryptionKeyAgreementAlgorithms: KnownJwaKeyAgreementAlgorithm[];
  static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[];
  static multicodecPrefix: number;
  multicodecPrefix: number;
  supportdEncryptionKeyAgreementAlgorithms: ("ECDH-ES" | "ECDH-ES+A128KW" | "ECDH-ES+A192KW" | "ECDH-ES+A256KW" | "ECDH-HSALSA20")[];
  get supportedSignatureAlgorithms(): ("HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512" | "EdDSA" | "ES256K")[];
  constructor(jwk: KmsJwkPublicRsa);
  get publicKey(): {
    modulus: AnyUint8Array;
    exponent: AnyUint8Array;
    kty: "RSA";
  };
  /**
   * Not supported for RSA
   */
  get compressedPublicKey(): null;
  get multicodec(): Uint8ArrayBuffer;
  static fromPublicKey(publicKey: {
    modulus: AnyUint8Array;
    exponent: AnyUint8Array;
  }): RsaPublicJwk;
  static fromMulticodec(_multicodec: AnyUint8Array): RsaPublicJwk;
}
//#endregion
export { RsaPublicJwk };
//# sourceMappingURL=RsaPublicJwk.d.ts.map