import { AgentCoreConfig, QueryPreProcessor, AgentServiceConfig, Instruction } from '../core/configs'; import { AgentCore } from '../core/AgentCore'; import { ConversationDataHandler } from '../core/ConversationDataHandler'; import { IAgentPromptTemplate } from '../core/IPromptTemplate'; import { ClassificationTypeConfig, IClassifier } from '../core/IClassifier'; import { ExecutionContext } from '../core/ExecutionContext'; import { InferClassificationUnion } from '../core/TypeInference'; import { Session } from '../core/Session'; import { LoggingConfig } from '../core/configs'; import { Tool, ToolOutput } from '../core/Tool'; export declare abstract class BaseAgent, P extends IAgentPromptTemplate> { protected core: AgentCore; private classifier; private promptTemplate; private svcConfig; private communication?; private httpStreamCallback?; protected abstract useClassifierClass(schemaTypes: T): new () => K; protected abstract usePromptTemplateClass(): new (classificationTypes: T) => P; protected createClassifier(schemaTypes: T): K; protected createPromptTemplate(classificationTypes: T): P; private logger; constructor(core_config: AgentCoreConfig, svc_config: AgentServiceConfig, schemaTypes: T, loggingConfig?: LoggingConfig); protected init(core_config: AgentCoreConfig, svc_config: AgentServiceConfig, schemaTypes: T, loggingConfig?: LoggingConfig): void; setQueryPreProcessor(queryPreProcessor: QueryPreProcessor | null): void; getExecutionContext(): ExecutionContext; setExecutionContext(executionContext: ExecutionContext): void; getName(): string; getRole(): string; getGoal(): string; getCapabilities(): string; getInstructions(): Instruction[]; getInstructionByName(name: string): Instruction | undefined; addInstruction(name: string, description: string, schemaTemplate?: string): void; log(sessionId: string, message: string): void; run(loggingConfig?: LoggingConfig): Promise; createSession(owner: string, description: string, enhancePrompt?: boolean): Promise; private defaultToolResultHandler; private defaultEventHandler; private defaultExceptionHandler; private defaultRoutingHandler; protected handleLLMResponse(response: string | InferClassificationUnion, session: Session): void; isStreamingEnabled(): boolean; shutdown(): Promise; registerStreamCallback(callback: (delta: string) => void): void; debugPrompt(sessionContext: any, input: string, context: any): Object; enhancePrompt(message: string): Promise; registerTool(tool: Tool): void; getTool(name: string): Tool | undefined; getSession(sessionId: string): Session | undefined; /** * Register a conversation data handler * @param handler The handler to register */ registerConversationDataHandler(handler: ConversationDataHandler): void; /** * Unregister a conversation data handler * @param handler The handler to unregister * @returns Whether the handler was found and removed */ unregisterConversationDataHandler(handler: ConversationDataHandler): boolean; private findHelperAgent; }