import { type DidCommJsonLdCredentialDetailFormat } from '@credo-ts/didcomm'; import { VtFlowRecord } from '@verana-labs/credo-ts-didcomm-vt-flow'; import { BaseAgentModules, VsAgent } from '../agent'; import { VeranaIndexerService } from '../blockchain/VeranaIndexerService'; export interface VtFlowOrchestratorOptions { publicApiBaseUrl?: string; indexer?: VeranaIndexerService; agentParticipantId?: number; walletAgentParticipantId?: number; } export interface StartOnboardingProcessInput { applicantParticipantId: number; participantSessionId?: string; claims?: Record; } export interface ValidateAndOfferCredentialInput { vtFlowRecordId: string; credentialType?: string[]; credentialContext?: string[]; credentialSchemaId: string; agentParticipantId?: number; walletAgentParticipantId?: number; } export interface AcceptCredentialInput { vtFlowRecordId: string; } export declare class VtFlowOrchestrator { private readonly agent; private readonly options; constructor(agent: VsAgent, options?: VtFlowOrchestratorOptions); startOnboardingProcess(input: StartOnboardingProcessInput): Promise; validateAndOfferCredential(input: ValidateAndOfferCredentialInput): Promise; acceptCredential(input: AcceptCredentialInput): Promise; buildDirectIssuanceOffer(vtFlowRecordId: string): Promise<{ credentialFormats: { jsonld: DidCommJsonLdCredentialDetailFormat; }; credentialDigest: string; } | null>; private buildCredential; verifyOfferedCredential(vtFlowRecordId: string): Promise; onCredentialRevoked(vtFlowRecordId: string): Promise; onCredentialCompleted(vtFlowRecordId: string): Promise; private triggerResolver; private getOfferedCredentialJson; private requireIndexer; publishCredentialAsLinkedVp(vtFlowRecordId: string): Promise; private extractSchemaBaseId; rotateRequesterDidToPeer(connectionId: string): Promise; private resolveVtFlowApi; private requireChain; }