import { type IJWK, type JsonWebKey2020, type IDIDDocumentVerificationMethod, type IDIDDocumentServiceDescriptor, type IDIDDocument } from "../crypto";
export declare class DIDDocumentVerificationMethod implements IDIDDocumentVerificationMethod {
    id: string;
    type: "JsonWebKey2020" | "X25519KeyAgreementKey2019" | "X25519KeyAgreementKey2020" | "Ed25519VerificationKey2018" | "Ed25519VerificationKey2020";
    controller: string;
    publicKeyPem?: string;
    publicKeyJwk?: IJWK;
    publicKeyHex?: string;
    publicKeyBase64?: string;
    publicKeyBase58?: string;
    publicKeyMultibase?: string;
    constructor(document: any);
    asJsonWebKey(): Promise<JsonWebKey2020>;
    toJSON(): object;
}
export declare class DIDDocument implements IDIDDocument {
    document: object;
    "@context": string[];
    get context(): string[];
    id: string;
    controller?: string;
    alsoKnownAs?: string;
    verificationMethod: IDIDDocumentVerificationMethod[];
    service: IDIDDocumentServiceDescriptor[];
    authentication: IDIDDocumentVerificationMethod[];
    assertionMethod: IDIDDocumentVerificationMethod[];
    keyAgreement: IDIDDocumentVerificationMethod[];
    capabilityInvocation: IDIDDocumentVerificationMethod[];
    capabilityDelegation: IDIDDocumentVerificationMethod[];
    constructor(document: any);
    normalizeVerificationMethod(methods: (string | IDIDDocumentVerificationMethod)[]): IDIDDocumentVerificationMethod[];
    getVerificationMethodById(id: string): IDIDDocumentVerificationMethod | undefined;
    getServiceById(id: string): IDIDDocumentServiceDescriptor | undefined;
    getServiceByType(type: string): IDIDDocumentServiceDescriptor | undefined;
    getKeyAgreementById(id: string): IDIDDocumentVerificationMethod | undefined;
    getAllKeyAgreements(): IDIDDocumentVerificationMethod[];
    getAuthenticationById(id: string): IDIDDocumentVerificationMethod | undefined;
    getCapabilityInvocationById(id: string): IDIDDocumentVerificationMethod | undefined;
    getCapabilityDelegationById(id: string): IDIDDocumentVerificationMethod | undefined;
    getAssertionMethodById(id: string): IDIDDocumentVerificationMethod | undefined;
    toJSON(): object;
}
//# sourceMappingURL=DIDDocument.d.ts.map