import type { AcceptCredentialOptions, AcceptCredentialOfferOptions, AcceptCredentialProposalOptions, AcceptCredentialRequestOptions, CreateCredentialOfferOptions, FindCredentialMessageReturn, FindCredentialOfferMessageReturn, FindCredentialProposalMessageReturn, FindCredentialRequestMessageReturn, GetCredentialFormatDataReturn, NegotiateCredentialOfferOptions, NegotiateCredentialProposalOptions, OfferCredentialOptions, ProposeCredentialOptions, SendCredentialProblemReportOptions, DeleteCredentialOptions } from './CredentialsApiOptions'; import type { CredentialProtocol } from './protocol/CredentialProtocol'; import type { CredentialFormatsFromProtocols } from './protocol/CredentialProtocolOptions'; import type { CredentialExchangeRecord } from './repository/CredentialExchangeRecord'; import type { AgentMessage } from '../../agent/AgentMessage'; import type { Query } from '../../storage/StorageService'; import { AgentContext } from '../../agent'; import { MessageSender } from '../../agent/MessageSender'; import { Logger } from '../../logger'; import { DidCommMessageRepository } from '../../storage/didcomm/DidCommMessageRepository'; import { ConnectionService } from '../connections/services'; import { RoutingService } from '../routing/services/RoutingService'; import { CredentialsModuleConfig } from './CredentialsModuleConfig'; import { RevocationNotificationService } from './protocol/revocation-notification/services'; import { CredentialRepository } from './repository/CredentialRepository'; export interface CredentialsApi { proposeCredential(options: ProposeCredentialOptions): Promise; acceptProposal(options: AcceptCredentialProposalOptions): Promise; negotiateProposal(options: NegotiateCredentialProposalOptions): Promise; offerCredential(options: OfferCredentialOptions): Promise; acceptOffer(options: AcceptCredentialOfferOptions): Promise; declineOffer(credentialRecordId: string): Promise; negotiateOffer(options: NegotiateCredentialOfferOptions): Promise; acceptRequest(options: AcceptCredentialRequestOptions): Promise; acceptCredential(options: AcceptCredentialOptions): Promise; createOffer(options: CreateCredentialOfferOptions): Promise<{ message: AgentMessage; credentialRecord: CredentialExchangeRecord; }>; sendProblemReport(options: SendCredentialProblemReportOptions): Promise; getAll(): Promise; findAllByQuery(query: Query): Promise; getById(credentialRecordId: string): Promise; findById(credentialRecordId: string): Promise; deleteById(credentialRecordId: string, options?: DeleteCredentialOptions): Promise; update(credentialRecord: CredentialExchangeRecord): Promise; getFormatData(credentialRecordId: string): Promise>>; findProposalMessage(credentialExchangeId: string): Promise>; findOfferMessage(credentialExchangeId: string): Promise>; findRequestMessage(credentialExchangeId: string): Promise>; findCredentialMessage(credentialExchangeId: string): Promise>; } export declare class CredentialsApi implements CredentialsApi { /** * Configuration for the credentials module */ readonly config: CredentialsModuleConfig; private connectionService; private messageSender; private credentialRepository; private agentContext; private didCommMessageRepository; private routingService; private logger; constructor(messageSender: MessageSender, connectionService: ConnectionService, agentContext: AgentContext, logger: Logger, credentialRepository: CredentialRepository, mediationRecipientService: RoutingService, didCommMessageRepository: DidCommMessageRepository, _revocationNotificationService: RevocationNotificationService, config: CredentialsModuleConfig); private getProtocol; private getServiceForCredentialExchangeId; }