import type { DidCommMessageRole } from './DidCommMessageRole'; import type { AgentContext } from '../../agent'; import type { AgentMessage, ConstructableAgentMessage } from '../../agent/AgentMessage'; import { EventEmitter } from '../../agent/EventEmitter'; import { Repository } from '../Repository'; import { StorageService } from '../StorageService'; import { DidCommMessageRecord } from './DidCommMessageRecord'; export declare class DidCommMessageRepository extends Repository { constructor(storageService: StorageService, eventEmitter: EventEmitter); saveAgentMessage(agentContext: AgentContext, { role, agentMessage, associatedRecordId }: SaveAgentMessageOptions): Promise; saveOrUpdateAgentMessage(agentContext: AgentContext, options: SaveAgentMessageOptions): Promise; getAgentMessage(agentContext: AgentContext, { associatedRecordId, messageClass }: GetAgentMessageOptions): Promise>; findAgentMessage(agentContext: AgentContext, { associatedRecordId, messageClass }: GetAgentMessageOptions): Promise | null>; } export interface SaveAgentMessageOptions { role: DidCommMessageRole; agentMessage: AgentMessage; associatedRecordId: string; } export interface GetAgentMessageOptions { associatedRecordId: string; messageClass: MessageClass; }