import type { AgentMessage } from '@earendil-works/pi-agent-core'; import type { Config } from '../../config/schema.js'; import type { UserContextPlan } from './context/types.js'; import type { MemoryManager } from './manager.js'; export interface UserContextCoordinatorOptions { getConfig: () => Config | undefined; isEnabledForSession: (sessionKey: string) => boolean; getAgentIdForSession: (sessionKey: string) => string; getWorkspaceIdForSession?: (sessionKey: string) => string; getProjectIdForSession?: (sessionKey: string) => string | undefined; getMemoryManagerForSession: (sessionKey: string) => MemoryManager; getLastAssistantContent: (sessionKey: string) => string | null; } export declare class UserContextCoordinator { private readonly options; private readonly userTurn; private readonly lastTurnId; private readonly correctionTargets; private readonly planner; constructor(options: UserContextCoordinatorOptions); forgetSession(sessionKey: string): void; clear(): void; prepare(userMessage: AgentMessage, sessionKey: string, turnId: string): Promise; afterTurn(sessionKey: string, userPlainText: string): Promise; }