import type { AgentMessage } from '../../agent/AgentMessage'; import type { DependencyManager } from '../../plugins'; import type { DeleteCredentialOptions } from './CredentialServiceOptions'; import type { AcceptCredentialOptions, AcceptOfferOptions, AcceptProposalOptions, AcceptRequestOptions, NegotiateOfferOptions, NegotiateProposalOptions, OfferCredentialOptions, ProposeCredentialOptions, CreateOfferOptions, FindOfferMessageReturn, FindRequestMessageReturn, FindCredentialMessageReturn, FindProposalMessageReturn, GetFormatDataReturn, SendProblemReportOptions } from './CredentialsModuleOptions'; import type { CredentialFormat } from './formats'; import type { IndyCredentialFormat } from './formats/indy/IndyCredentialFormat'; import type { CredentialExchangeRecord } from './repository/CredentialExchangeRecord'; import type { CredentialService } from './services/CredentialService'; import { AgentConfig } from '../../agent/AgentConfig'; import { MessageSender } from '../../agent/MessageSender'; import { DidCommMessageRepository } from '../../storage/didcomm/DidCommMessageRepository'; import { ConnectionService } from '../connections/services'; import { RoutingService } from '../routing/services/RoutingService'; import { V1CredentialService } from './protocol/v1/V1CredentialService'; import { V2CredentialService } from './protocol/v2/V2CredentialService'; import { CredentialRepository } from './repository/CredentialRepository'; import { RevocationNotificationService } from './services'; export interface CredentialsModule[]> { proposeCredential(options: ProposeCredentialOptions): Promise; acceptProposal(options: AcceptProposalOptions): Promise; negotiateProposal(options: NegotiateProposalOptions): Promise; offerCredential(options: OfferCredentialOptions): Promise; acceptOffer(options: AcceptOfferOptions): Promise; declineOffer(credentialRecordId: string): Promise; negotiateOffer(options: NegotiateOfferOptions): Promise; createOffer(options: CreateOfferOptions): Promise<{ message: AgentMessage; credentialRecord: CredentialExchangeRecord; }>; acceptRequest(options: AcceptRequestOptions): Promise; acceptCredential(options: AcceptCredentialOptions): Promise; sendProblemReport(options: SendProblemReportOptions): Promise; getAll(): Promise; getById(credentialRecordId: string): Promise; findById(credentialRecordId: string): Promise; deleteById(credentialRecordId: string, options?: DeleteCredentialOptions): Promise; getFormatData(credentialRecordId: string): Promise>; findProposalMessage(credentialExchangeId: string): Promise>; findOfferMessage(credentialExchangeId: string): Promise>; findRequestMessage(credentialExchangeId: string): Promise>; findCredentialMessage(credentialExchangeId: string): Promise>; } export declare class CredentialsModule[] = [V1CredentialService, V2CredentialService]> implements CredentialsModule { private connectionService; private messageSender; private credentialRepository; private agentConfig; private didCommMessageRepo; private routingService; private logger; private serviceMap; constructor(messageSender: MessageSender, connectionService: ConnectionService, agentConfig: AgentConfig, credentialRepository: CredentialRepository, mediationRecipientService: RoutingService, didCommMessageRepository: DidCommMessageRepository, v1Service: V1CredentialService, v2Service: V2CredentialService, _revocationNotificationService: RevocationNotificationService); getService(protocolVersion: PVT): CredentialService; private getServiceForCredentialExchangeId; /** * Registers the dependencies of the credentials module on the dependency manager. */ static register(dependencyManager: DependencyManager): void; }