import type { AgentContext } from '../../../agent'; import type { InboundMessageContext } from '../../../agent/models/InboundMessageContext'; import type { Query } from '../../../storage/StorageService'; import type { EncryptedMessage } from '../../../types'; import type { ForwardMessage, MediationRequestMessage } from '../messages'; import { EventEmitter } from '../../../agent/EventEmitter'; import { Logger } from '../../../logger'; import { ConnectionService } from '../../connections'; import { KeylistUpdateMessage, KeylistUpdateResponseMessage, MediationGrantMessage } from '../messages'; import { MediatorRoutingRecord } from '../repository'; import { MediationRecord } from '../repository/MediationRecord'; import { MediationRepository } from '../repository/MediationRepository'; import { MediatorRoutingRepository } from '../repository/MediatorRoutingRepository'; export declare class MediatorService { private logger; private mediationRepository; private mediatorRoutingRepository; private eventEmitter; private connectionService; constructor(mediationRepository: MediationRepository, mediatorRoutingRepository: MediatorRoutingRepository, eventEmitter: EventEmitter, logger: Logger, connectionService: ConnectionService); private getRoutingKeys; processForwardMessage(messageContext: InboundMessageContext): Promise<{ mediationRecord: MediationRecord; encryptedMessage: EncryptedMessage; }>; processKeylistUpdateRequest(messageContext: InboundMessageContext): Promise; createGrantMediationMessage(agentContext: AgentContext, mediationRecord: MediationRecord): Promise<{ mediationRecord: MediationRecord; message: MediationGrantMessage; }>; processMediationRequest(messageContext: InboundMessageContext): Promise; findById(agentContext: AgentContext, mediatorRecordId: string): Promise; getById(agentContext: AgentContext, mediatorRecordId: string): Promise; getAll(agentContext: AgentContext): Promise; findMediatorRoutingRecord(agentContext: AgentContext): Promise; createMediatorRoutingRecord(agentContext: AgentContext): Promise; findAllByQuery(agentContext: AgentContext, query: Query): Promise; private updateState; private emitStateChangedEvent; private updateUseDidKeysFlag; }