import { JWKAlgorithms, JWKey, JWKGenerateOptions, JWKObject, KeyOptions, KeyTypes, KeyUsages, thumbprintConfig } from './types.js'; export declare class JWK { readonly key: JWKey; readonly metadata: JWKObject; constructor(key: JWKey, metadata: JWKObject); get kid(): string | undefined; get alg(): JWKAlgorithms | undefined; get use(): KeyUsages | undefined; get kty(): KeyTypes; get isPrivate(): boolean; getThumbprint(config?: thumbprintConfig): Promise; getKey(options: KeyOptions): JWK; toPublic(): Promise; toObject(asPrivate?: boolean): JWKObject; static fromObject(keyObject: JWKObject): Promise; static generate(algorithm: JWKAlgorithms, options?: JWKGenerateOptions): Promise; }