import type { SessionIndex } from '../../types/session-checkpoint.js';
import type { Spec686Plan } from '../../types/next-spec.js';
export declare const WRITE_DEDUP_WINDOW_MS = 5000;
export declare const MAX_REASON_LENGTH = 200;
/**
 * SPEC-686 Scenarios 6, 7: Write nextSpec to planu/session.json.
 * Best-effort — never throws. Uses 5s dedup window for idempotence.
 */
export declare function writeNextSpec(projectPath: string, next: {
    id: string;
    title: string;
    reason: string;
} | null): Promise<void>;
/**
 * SPEC-686 Scenarios 12, 15: Write orchestrationPlan to planu/session.json.
 * Pass null to clear the plan (backward compat, Scenario 15).
 * Best-effort — never throws.
 */
export declare function writeOrchestrationPlan(projectPath: string, plan: Spec686Plan | null): Promise<void>;
/**
 * SPEC-686: Patch planu/session.json with the given partial fields.
 * Reads current state, merges, and writes back — preserves all other fields.
 * Best-effort — never throws. Exposed for use by other modules.
 */
export declare function patchSessionJson(projectPath: string, patch: Partial<SessionIndex>): Promise<void>;
//# sourceMappingURL=session-writer.d.ts.map