import type { VerifiableDID } from 'iso-did/types' export type SignatureType = | 'Ed25519' | 'ES256' | 'ES384' | 'ES512' | 'ES256K' | 'RS256' | 'EIP191' export interface Sign { sign: (message: Uint8Array) => Promise } export interface ISigner extends VerifiableDID, Sign { export: () => Export signatureType: SignatureType } export interface VerifyInput { signature: Uint8Array message: Uint8Array did: VerifiableDID } export type Verify = (input: VerifyInput) => Promise export type Verifier = Record export type VerifierRegistry = Partial> export interface ResolverVerifyInput extends VerifyInput { /** * The type of signature to verify */ type: SignatureType } export type Cache = (parsed: VerifyInput, verify: Verify) => Promise export interface IResolver { verify: (input: ResolverVerifyInput) => Promise } export interface ResolverOptions { cache?: Cache | boolean | undefined }