import type { Modify } from './types'; import { verificationMethodSchema } from './schemas'; import { Did } from './did'; import { z } from 'zod'; import { PublicKeyJwk, PublicKeyJwkOptions } from './publicKeyJwk'; import { PublicKeyMultibaseOptions, PublicKeyMultibase } from './publicKeyMultibase'; import { VerificationMethodTypes } from './verificationMethodTypes'; export type VerificationMethodOptions = Modify, { publicKeyJwk?: PublicKeyJwkOptions | PublicKeyJwk; publicKeyMultibase?: PublicKeyMultibaseOptions | PublicKeyMultibase; }> & Record; export declare class VerificationMethod { fullVerificationMethod: VerificationMethodOptions; id: Did; controller: Did; type: VerificationMethodTypes | string; publicKeyJwk?: PublicKeyJwk; publicKeyMultibase?: PublicKeyMultibase; constructor(options: VerificationMethodOptions); /** * Checks whether the verification method type is registered inside the @{link https://www.w3.org/TR/did-spec-registries/#verification-method-types | verification method types} * */ isTypeInDidSpecRegistry(additionalAcceptedTypes?: string | Array): boolean; toJSON(): { [k: string]: string | void | { [x: string]: unknown; kty: string; use?: string | undefined; crv?: string | undefined; x?: string | undefined; y?: string | undefined; e?: string | undefined; n?: string | undefined; key_ops?: string | undefined; alg?: string | undefined; kid?: string | undefined; d?: undefined; } | { [x: string]: unknown; } | undefined; }; }