import { type StructuredTool } from '@langchain/core/tools'; import type { DreamBatch } from '../types'; import type { refreshPostExtractionDreamBatch } from '../post_extraction'; import type { ChatLunaChatModel } from 'koishi-plugin-chatluna/llm-core/platform/model'; import type { PresetSpeakerRecord } from '../../../../contracts/memory'; import { type LivingMemoryLogger } from '../../../logging/logger'; import { type DreamSessionState } from './state'; interface DreamSessionRunInput { presetId: string; callOptions: ReturnType; assistantLabel: string; presetPrompt: string; speakers: PresetSpeakerRecord[]; state: DreamSessionState; tools: StructuredTool[]; model: ChatLunaChatModel; logger: LivingMemoryLogger; signal?: AbortSignal; loadBatch?: (batch: DreamBatch) => ReturnType; } export declare function createDreamCallOptions(model: ChatLunaChatModel, sessionId: string): { id: string; stream: false; maxTokenLimit: number; }; export declare function runDreamSession(input: DreamSessionRunInput): Promise; export {};