import type { CustomDidTags } from './DidRecord'; import type { AgentContext } from '../../../agent'; import type { Key } from '../../../crypto'; import type { DidDocument } from '../domain'; import { EventEmitter } from '../../../agent/EventEmitter'; import { Repository } from '../../../storage/Repository'; import { StorageService } from '../../../storage/StorageService'; import { DidRecord } from './DidRecord'; export declare class DidRepository extends Repository { constructor(storageService: StorageService, eventEmitter: EventEmitter); /** * Finds a {@link DidRecord}, containing the specified recipientKey that was received by this agent. * To find a {@link DidRecord} that was created by this agent, use {@link DidRepository.findCreatedDidByRecipientKey}. */ findReceivedDidByRecipientKey(agentContext: AgentContext, recipientKey: Key): Promise; /** * Finds a {@link DidRecord}, containing the specified recipientKey that was created by this agent. * To find a {@link DidRecord} that was received by this agent, use {@link DidRepository.findReceivedDidByRecipientKey}. */ findCreatedDidByRecipientKey(agentContext: AgentContext, recipientKey: Key): Promise; findAllByRecipientKey(agentContext: AgentContext, recipientKey: Key): Promise; findAllByDid(agentContext: AgentContext, did: string): Promise; findReceivedDid(agentContext: AgentContext, receivedDid: string): Promise; findCreatedDid(agentContext: AgentContext, createdDid: string): Promise; getCreatedDids(agentContext: AgentContext, { method, did }: { method?: string; did?: string; }): Promise; storeCreatedDid(agentContext: AgentContext, { did, didDocument, tags }: StoreDidOptions): Promise; storeReceivedDid(agentContext: AgentContext, { did, didDocument, tags }: StoreDidOptions): Promise; } interface StoreDidOptions { did: string; didDocument?: DidDocument; tags?: CustomDidTags; } export {};