/// <reference types="node" />
import * as Factory from 'factory.ts';
import { AbstractDataModel, DidDocumentRepresentation } from './types';
export interface DidDocumentRepresentations {
    [contentType: string]: DidDocumentRepresentation;
}
export interface DidDocument {
    addRepresentation: (representations: DidDocumentRepresentations) => DidDocument;
    representations: DidDocumentRepresentations;
    entries: AbstractDataModel<object>;
    assign: (entries: AbstractDataModel<object>) => DidDocument;
    produce: (contentType: string, documentLoader?: any) => Promise<Buffer>;
    consume: (contentType: string, representation: Buffer, documentLoader?: any) => Promise<DidDocument>;
}
export declare const factoryDefaults: DidDocument;
export declare const factory: Factory.Sync.Factory<DidDocument, "addRepresentation" | "representations" | "entries" | "assign" | "produce" | "consume">;
