import type { CredentialFormat } from './CredentialFormat'; import type { CredentialFormatCreateProposalOptions, CredentialFormatCreateProposalReturn, CredentialFormatProcessOptions, CredentialFormatCreateOfferOptions, CredentialFormatCreateOfferReturn, CredentialFormatCreateRequestOptions, CredentialFormatCreateReturn, CredentialFormatAcceptRequestOptions, CredentialFormatAcceptOfferOptions, CredentialFormatAcceptProposalOptions, CredentialFormatAutoRespondCredentialOptions, CredentialFormatAutoRespondOfferOptions, CredentialFormatAutoRespondProposalOptions, CredentialFormatAutoRespondRequestOptions, CredentialFormatProcessCredentialOptions } from './CredentialFormatServiceOptions'; import type { AgentContext } from '../../../agent'; export interface CredentialFormatService { formatKey: CF['formatKey']; credentialRecordType: CF['credentialRecordType']; createProposal(agentContext: AgentContext, options: CredentialFormatCreateProposalOptions): Promise; processProposal(agentContext: AgentContext, options: CredentialFormatProcessOptions): Promise; acceptProposal(agentContext: AgentContext, options: CredentialFormatAcceptProposalOptions): Promise; createOffer(agentContext: AgentContext, options: CredentialFormatCreateOfferOptions): Promise; processOffer(agentContext: AgentContext, options: CredentialFormatProcessOptions): Promise; acceptOffer(agentContext: AgentContext, options: CredentialFormatAcceptOfferOptions): Promise; createRequest(agentContext: AgentContext, options: CredentialFormatCreateRequestOptions): Promise; processRequest(agentContext: AgentContext, options: CredentialFormatProcessOptions): Promise; acceptRequest(agentContext: AgentContext, options: CredentialFormatAcceptRequestOptions): Promise; processCredential(agentContext: AgentContext, options: CredentialFormatProcessCredentialOptions): Promise; shouldAutoRespondToProposal(agentContext: AgentContext, options: CredentialFormatAutoRespondProposalOptions): Promise; shouldAutoRespondToOffer(agentContext: AgentContext, options: CredentialFormatAutoRespondOfferOptions): Promise; shouldAutoRespondToRequest(agentContext: AgentContext, options: CredentialFormatAutoRespondRequestOptions): Promise; shouldAutoRespondToCredential(agentContext: AgentContext, options: CredentialFormatAutoRespondCredentialOptions): Promise; deleteCredentialById(agentContext: AgentContext, credentialId: string): Promise; supportsFormat(formatIdentifier: string): boolean; }