import type { BaseAgentModules, VsAgent } from './agent/VsAgent'; import type { IBaseMessage, MessageType } from '@verana-labs/vs-agent-model'; import { BaseLogger } from '@credo-ts/core'; import { DidCommConnectionRecord } from '@credo-ts/didcomm'; export declare const MESSAGE_HANDLERS = "MESSAGE_HANDLERS"; export interface MessageHandler { readonly supportedTypes: MessageType[]; readonly openApiExamples: Record; handle(agent: VsAgent, message: IBaseMessage, connection: DidCommConnectionRecord): Promise; } export type Plugin = { modules: Record; }; export interface VsAgentNestPlugin { name: string; credoPlugin?: Plugin; controllers?: (new (...args: any[]) => any)[]; providers?: any[]; messageHandlers?: (new (...args: any[]) => MessageHandler)[]; imports?: any[]; registerEvents?: (agent: VsAgent, logger: BaseLogger) => void; } export declare const ISSUER_PARTICIPANT_TYPE = 1; export declare const VERIFIER_PARTICIPANT_TYPE = 2; export declare const ISSUER_GRANTOR_PARTICIPANT_TYPE = 3; export declare const VERIFIER_GRANTOR_PARTICIPANT_TYPE = 4; export declare const HOLDER_PARTICIPANT_TYPE = 6;