export type Did = `did:${TMethod}:${string}`; export interface VerificationMethod { id: string; type: string; controller: Did; publicKeyMultibase?: string; publicKeyJwk?: Record; } export interface Service { id: string; type: string | string[]; serviceEndpoint: string | Record | (string | Record)[]; } export interface DidDocument { '@context': string[]; id: Did; controller?: Did | Did[]; alsoKnownAs?: string[]; verificationMethod?: VerificationMethod[]; authentication?: (string | VerificationMethod)[]; service?: Service[]; }