import { DID } from "./DID"; import { JWK } from "./keyManagement"; export declare class DIDDocument { id: DID; coreProperties: Array; constructor(id: DID, coreProperties: Array); get services(): DIDDocument.Service[]; get verificationMethods(): DIDDocument.VerificationMethod[]; get authentication(): DIDDocument.VerificationMethod[]; } export declare namespace DIDDocument { export type CoreProperty = Service | AlsoKnownAs | Controller | VerificationMethods | Services | Authentication | AssertionMethod | KeyAgreement | CapabilityInvocation | CapabilityDelegation; export class VerificationMethod { id: string; controller: string; type: VerificationMethod.Type; publicKeyJwk?: JWK | undefined; publicKeyMultibase?: string | undefined; constructor(id: string, controller: string, type: VerificationMethod.Type, publicKeyJwk?: JWK | undefined, publicKeyMultibase?: string | undefined); } export namespace VerificationMethod { type Type = "JsonWebKey2020" | "Ed25519VerificationKey2018" | "Ed25519VerificationKey2020" | "X25519KeyAgreementKey2019" | "X25519KeyAgreementKey2020" | "EcdsaSecp256k1VerificationKey2019"; } export class AlsoKnownAs { values: Array; constructor(values: Array); } export class Controller { values: Array; constructor(values: Array); } export class VerificationMethods { values: Array; constructor(values?: Array); } export class Service { id: string; type: Array; serviceEndpoint: ServiceEndpoint; constructor(id: string, type: Array, endpoint: ServiceEndpoint | string); get isDIDCommMessaging(): boolean; } export class ServiceEndpoint { uri: string; accept: Array; routingKeys: Array; constructor(uri: string, accept?: Array, routingKeys?: Array); } export class Services { values: Array; constructor(values?: Array); } class VerificationMethodGroup { urls: Array; verificationMethods: Array; constructor(urls?: Array, verificationMethods?: Array); add(method: VerificationMethod): void; } export class Authentication extends VerificationMethodGroup { } export class AssertionMethod extends VerificationMethodGroup { } export class KeyAgreement extends VerificationMethodGroup { } export class CapabilityInvocation extends VerificationMethodGroup { } export class CapabilityDelegation extends VerificationMethodGroup { } export {}; }