import type { Logger } from '../logger'; import type { InboundTransport } from '../transport/InboundTransport'; import type { OutboundTransport } from '../transport/OutboundTransport'; import type { InitConfig } from '../types'; import type { AgentDependencies } from './AgentDependencies'; import type { TransportSession } from './TransportService'; import type { Subscription } from 'rxjs'; import type { DependencyContainer } from 'tsyringe'; import { BasicMessagesModule } from '../modules/basic-messages/BasicMessagesModule'; import { ConnectionsModule } from '../modules/connections/ConnectionsModule'; import { CredentialsModule } from '../modules/credentials/CredentialsModule'; import { DidsModule } from '../modules/dids/DidsModule'; import { DiscoverFeaturesModule } from '../modules/discover-features'; import { GenericRecordsModule } from '../modules/generic-records/GenericRecordsModule'; import { LedgerModule } from '../modules/ledger/LedgerModule'; import { OutOfBandModule } from '../modules/oob/OutOfBandModule'; import { ProofsModule } from '../modules/proofs/ProofsModule'; import { QuestionAnswerModule } from '../modules/question-answer/QuestionAnswerModule'; import { MediatorModule } from '../modules/routing/MediatorModule'; import { RecipientModule } from '../modules/routing/RecipientModule'; import { DependencyManager } from '../plugins'; import { WalletModule } from '../wallet/WalletModule'; import { AgentConfig } from './AgentConfig'; import { EventEmitter } from './EventEmitter'; import { MessageReceiver } from './MessageReceiver'; import { MessageSender } from './MessageSender'; import { TransportService } from './TransportService'; export declare class Agent { protected agentConfig: AgentConfig; protected logger: Logger; readonly dependencyManager: DependencyManager; protected eventEmitter: EventEmitter; protected messageReceiver: MessageReceiver; protected transportService: TransportService; protected messageSender: MessageSender; private _isInitialized; messageSubscription: Subscription; private walletService; private routingService; readonly connections: ConnectionsModule; readonly proofs: ProofsModule; readonly basicMessages: BasicMessagesModule; readonly genericRecords: GenericRecordsModule; readonly ledger: LedgerModule; readonly questionAnswer: QuestionAnswerModule; readonly credentials: CredentialsModule; readonly mediationRecipient: RecipientModule; readonly mediator: MediatorModule; readonly discovery: DiscoverFeaturesModule; readonly dids: DidsModule; readonly wallet: WalletModule; readonly oob: OutOfBandModule; constructor(initialConfig: InitConfig, dependencies: AgentDependencies, injectionContainer?: DependencyContainer); registerInboundTransport(inboundTransport: InboundTransport): void; get inboundTransports(): InboundTransport[]; registerOutboundTransport(outboundTransport: OutboundTransport): void; get outboundTransports(): OutboundTransport[]; get events(): EventEmitter; get isInitialized(): boolean; initialize(): Promise; shutdown(): Promise; get publicDid(): import("../wallet/Wallet").DidInfo | undefined; receiveMessage(inboundMessage: unknown, session?: TransportSession): Promise; get injectionContainer(): DependencyContainer; get config(): AgentConfig; private getMediationConnection; private registerDependencies; }