import type { RememOrchestrator } from "../../orchestrator.js"; import type { MemoryContext, MemoryInjection, MemoryProvider, RememLogger } from "../../types.js"; export declare const TRUSTED_REMEM_INSTRUCTION: string; export interface HostLocation { directory: string; worktree: string; projectId: string; } export declare function memoryContext(location: HostLocation, sessionId?: string): MemoryContext; export declare function textFromParts(parts: readonly unknown[]): string; export declare function latestUserPrompt(messages: readonly unknown[]): string; /** * A turn identity derived purely from the conversation so far, for * `RememOrchestrator.processPrompt`'s `turnId` -- the count of user-role * messages, excluding remem's own ephemeral injections. A tool-calling loop * re-dispatches to the model (and re-runs the "context" hook, so * `recallForDispatch` runs again) without appending a new user message, so * this count stays stable across those re-dispatches and only advances once * a genuinely new user turn begins. */ export declare function currentTurnId(messages: readonly unknown[]): string; export declare function recallForDispatch(orchestrator: RememOrchestrator, prompt: string, context: MemoryContext, turnId?: string): Promise; export declare function safeLoggerCall(logger: RememLogger, level: "debug" | "info" | "warn" | "error", event: string, data?: Record): void; export declare function disposeProviders(providers: MemoryProvider[]): Promise;