import type { DreamResult } from "../../dream/result.js"; import { type AgentSession, type ToolDefinition } from "@earendil-works/pi-coding-agent"; export type DreamerSession = Pick; export type DreamerSessionFactory = (options: { cwd: string; modelPattern?: string; tools: string[]; }) => Promise; export declare const DREAMER_TOOLS: string[]; /** The dream session's custom definitions: jailed versions of the two write built-ins, plus the jailed delete below. */ export declare function dreamerWriteToolDefinitions(notesHome: string): ToolDefinition[]; /** * The dreamer's physical delete, jailed like the writes and restricted to crumpled notes: the * playbook's wastebasket rule is the only legitimate target, so a live note refuses here even * before policy is consulted. The time window itself stays playbook policy, not tool law. */ export declare function dreamerDeleteToolDefinition(notesHome: string): ToolDefinition; export declare const defaultDreamerSessionFactory: DreamerSessionFactory; /** * Run one dream turn. A dreamer failure is returned as `error` together with the partial * writes observed so far, so the caller can record partial state instead of losing it; * only a failure to even start the session throws. */ export declare function runDreamer(playbook: string, cwd: string, options?: { modelPattern?: string; sessionFactory?: DreamerSessionFactory; }): Promise;