import { Impossible, OrPromise } from './types'; import { DidDocumentOptions } from './didDocument'; export type ResolutionOptions> = { accept: string; } & T; export type DidResolutionMetadata> = { contentType: string; error?: 'invalidDid' | 'notFound' | 'representationNotSupported' | string; } & T; export type DidDocumentMetadata> = { created?: string; updated?: string; deactivated?: string; nextUpdate?: string; versionId?: string; equivalentId?: Array; canonicalId?: string; } & T; export interface DidResolution = {}, AdditionalDidResolutionMetadata extends Record = {}, AdditionalDidDocument extends Record = {}, AdditionalDidDocumentMetadata extends Record = {}> { resolve(did: string, resolutionOptions?: Impossible, 'accept'>): OrPromise<{ didResolutionMetadata: Impossible, 'contentType'>; didDocument: DidDocumentOptions; didDocumentMetadata: DidDocumentMetadata; }>; resolvePresentation(did: string, resolutionOptions?: ResolutionOptions): OrPromise<{ didResolutionMetadata: DidResolutionMetadata; didDocumentStream: Uint8Array; didDocumentMetadata: DidDocumentMetadata; }>; }