import { Hono } from 'hono'; import type { BuildContextOptions } from '../services/context-builder.js'; import { type ChatRuntimeId } from '../services/chat-runtime-adapters.js'; type WriteFunc = (event: string, data: string) => void; export declare function processStreamLine(line: string, write: WriteFunc, runtime?: ChatRuntimeId): void; /** * Assemble the outgoing context with the prior conversation injected, applying * proactive compaction: estimate the prompt byte size and, if it crosses the * model budget threshold, collapse older history into a deterministic summary * (keeping recent turns verbatim) so a long thread never hits "Prompt is too * long". Returns the summary when compaction occurred so the caller can record a * one-shot `context-compacted` marker for the stream. */ export declare function assembleHistoryContext(baseContext: string, message: string, history: Array<{ role: string; content: string; }> | undefined, maxBytes: number): { context: string; proactiveCompactionSummary: string | null; }; export declare function guardFirstMessageContext(workspace: string, baseContext: string, message: string, contextOpts: BuildContextOptions, model?: string): { context: string; notice: string | null; }; export declare function chatRoute(cwd: string): Hono; export {};