import { Context } from "koishi"; import { ChatModelSwitcher } from "../adapters"; import { PromptBuilder } from "../prompt/PromptBuilder"; import { ScenarioManager } from "../services/scenario/ScenarioManager"; import { MessageContext, Middleware } from "./base"; export declare class LLMProcessingMiddleware extends Middleware { protected ctx: Context; protected services: { readonly scenarioManager: ScenarioManager; readonly chatModelSwitcher: ChatModelSwitcher; readonly promptBuilder: PromptBuilder; }; protected config: { debug?: boolean; abortSignal?: AbortSignal; slotContains: string[][]; slotSize: number; }; constructor(ctx: Context, services: { readonly scenarioManager: ScenarioManager; readonly chatModelSwitcher: ChatModelSwitcher; readonly promptBuilder: PromptBuilder; }, config: { debug?: boolean; abortSignal?: AbortSignal; slotContains: string[][]; slotSize: number; }); execute(ctx: MessageContext, next: () => Promise): Promise; }