import type { InboundMessageContext } from '../../../agent/models/InboundMessageContext'; import type { EncryptedMessage } from '../../../types'; import type { ForwardMessage, KeylistUpdateMessage, MediationRequestMessage } from '../messages'; import { AgentConfig } from '../../../agent/AgentConfig'; import { EventEmitter } from '../../../agent/EventEmitter'; import { Wallet } from '../../../wallet/Wallet'; import { MediationGrantMessage, KeylistUpdateResponseMessage } from '../messages'; import { MediationRecord } from '../repository/MediationRecord'; import { MediationRepository } from '../repository/MediationRepository'; import { MediatorRoutingRepository } from '../repository/MediatorRoutingRepository'; export declare class MediatorService { private agentConfig; private mediationRepository; private mediatorRoutingRepository; private wallet; private eventEmitter; private _mediatorRoutingRecord?; constructor(mediationRepository: MediationRepository, mediatorRoutingRepository: MediatorRoutingRepository, agentConfig: AgentConfig, wallet: Wallet, eventEmitter: EventEmitter); private getRoutingKeys; processForwardMessage(messageContext: InboundMessageContext): Promise<{ mediationRecord: MediationRecord; encryptedMessage: EncryptedMessage; }>; processKeylistUpdateRequest(messageContext: InboundMessageContext): Promise; createGrantMediationMessage(mediationRecord: MediationRecord): Promise<{ mediationRecord: MediationRecord; message: MediationGrantMessage; }>; processMediationRequest(messageContext: InboundMessageContext): Promise; findById(mediatorRecordId: string): Promise; getById(mediatorRecordId: string): Promise; getAll(): Promise; private updateState; private emitStateChangedEvent; }