import type { ConnectionRecord } from '../modules/connections/repository'; import type { DidDocument } from '../modules/dids'; import type { EncryptedMessage } from '../types'; import type { AgentMessage } from './AgentMessage'; import type { EnvelopeKeys } from './EnvelopeService'; export declare class TransportService { transportSessionTable: TransportSessionTable; saveSession(session: TransportSession): void; findSessionByConnectionId(connectionId: string): TransportSession | undefined; hasInboundEndpoint(didDocument: DidDocument): boolean; findSessionById(sessionId: string): TransportSession | undefined; removeSession(session: TransportSession): void; } interface TransportSessionTable { [sessionId: string]: TransportSession | undefined; } export interface TransportSession { id: string; type: string; keys?: EnvelopeKeys; inboundMessage?: AgentMessage; connection?: ConnectionRecord; send(encryptedMessage: EncryptedMessage): Promise; close(): Promise; } export {};