/**
 * Nolan's context digest — assembled fresh on each `@Nolan` question.
 *
 * The build session (EZ Coder) and Nolan are two separate `AgentSession` objects.
 * Nolan never appears in EZ Coder's transcript; on each question we read GG
 * Coder's `getMessages()`, distill it into a cheap text digest, and prepend it
 * to the user's question as Nolan's prompt body. Nolan's read-only tools fill any
 * gap the digest misses (he can read the actual files or screenshot the UI).
 *
 * Kept pure + dependency-light so it's unit-testable without booting the sidecar
 * (which runs `main()` at import time).
 */
import type { Message } from "@prestyj/ai";
/** How many of the most recent build-session messages to inline verbatim. */
export declare const NOLAN_RECENT_MESSAGE_LIMIT = 20;
export interface NolanDigestInput {
    /** The user's `@Nolan …` text (already stripped of the mention). */
    question: string;
    /** `collectProjectContext(cwd)` output — CLAUDE.md/AGENTS.md up the tree. */
    projectContext: string[];
    cwd: string;
    gitBranch: string | null;
    /** Build session messages (`buildSession.getMessages()`). */
    messages: Message[];
    /** Platform string (defaults to process.platform). */
    platform?: string;
    /** Override the recent-message cap (tests). */
    recentLimit?: number;
}
/**
 * Build Nolan's full context digest string. Pure — no I/O. The sidecar gathers the
 * inputs (project context, git, messages) and calls this.
 */
export declare function buildNolanDigest(input: NolanDigestInput): string;
//# sourceMappingURL=nolan-context.d.ts.map