import type { GetFormatDataReturn } from './CredentialServiceOptions'; import type { CredentialFormat, CredentialFormatPayload } from './formats'; import type { AutoAcceptCredential } from './models/CredentialAutoAcceptType'; import type { CredentialService } from './services'; export type { GetFormatDataReturn }; export declare type FindProposalMessageReturn = ReturnType; export declare type FindOfferMessageReturn = ReturnType; export declare type FindRequestMessageReturn = ReturnType; export declare type FindCredentialMessageReturn = ReturnType; /** * Get the supported protocol versions based on the provided credential services. */ export declare type ProtocolVersionType = CSs[number]['version']; /** * Get the service map for usage in the credentials module. Will return a type mapping of protocol version to service. * * @example * ``` * type CredentialServiceMap = ServiceMap<[IndyCredentialFormat], [V1CredentialService]> * * // equal to * type CredentialServiceMap = { * v1: V1CredentialService * } * ``` */ export declare type ServiceMap[]> = { [CS in CSs[number] as CS['version']]: CredentialService; }; interface BaseOptions { autoAcceptCredential?: AutoAcceptCredential; comment?: string; } /** * Interface for CredentialsModule.proposeCredential. Will send a proposal. */ export interface ProposeCredentialOptions extends BaseOptions { connectionId: string; protocolVersion: ProtocolVersionType; credentialFormats: CredentialFormatPayload; } /** * Interface for CredentialsModule.acceptProposal. Will send an offer * * credentialFormats is optional because this is an accept method */ export interface AcceptProposalOptions extends BaseOptions { credentialRecordId: string; credentialFormats?: CredentialFormatPayload; } /** * Interface for CredentialsModule.negotiateProposal. Will send an offer */ export interface NegotiateProposalOptions extends BaseOptions { credentialRecordId: string; credentialFormats: CredentialFormatPayload; } /** * Interface for CredentialsModule.createOffer. Will create an out of band offer */ export interface CreateOfferOptions extends BaseOptions { protocolVersion: ProtocolVersionType; credentialFormats: CredentialFormatPayload; } /** * Interface for CredentialsModule.offerCredentials. Extends CreateOfferOptions, will send an offer */ export interface OfferCredentialOptions extends BaseOptions, CreateOfferOptions { connectionId: string; } /** * Interface for CredentialsModule.acceptOffer. Will send a request * * credentialFormats is optional because this is an accept method */ export interface AcceptOfferOptions extends BaseOptions { credentialRecordId: string; credentialFormats?: CredentialFormatPayload; } /** * Interface for CredentialsModule.negotiateOffer. Will send a proposal. */ export interface NegotiateOfferOptions extends BaseOptions { credentialRecordId: string; credentialFormats: CredentialFormatPayload; } /** * Interface for CredentialsModule.acceptRequest. Will send a credential * * credentialFormats is optional because this is an accept method */ export interface AcceptRequestOptions extends BaseOptions { credentialRecordId: string; credentialFormats?: CredentialFormatPayload; autoAcceptCredential?: AutoAcceptCredential; comment?: string; } /** * Interface for CredentialsModule.acceptCredential. Will send an ack message */ export interface AcceptCredentialOptions { credentialRecordId: string; } /** * Interface for CredentialsModule.sendProblemReport. Will send a problem-report message */ export interface SendProblemReportOptions { credentialRecordId: string; message: string; }