import type { Director } from '@wrongstack/core/coordination'; import type { FleetChatVerbosity } from '@wrongstack/core/types'; import type { Action, State } from '../app-reducer.js'; /** A completed subagent bubble remains useful, but must not retain an * arbitrarily large model response in the bridge before its turn boundary. */ export declare const MAX_FLEET_HISTORY_BUFFER_CHARS: number; export interface UseDirectorFleetBridgeOptions { director: Director | null; dispatch: React.Dispatch; stateRef: React.MutableRefObject; chatMode: FleetChatVerbosity; /** Session generation ref — bumped on /clear so post-clear events from * subagents spawned before the bump are discarded. */ sessionGenerationRef?: { current: number; } | undefined; } /** * Director FleetBus -> TUI state bridge. * * High-frequency text deltas are batched so subagent streams do not cause a * render per token. The hook keeps live refs for settings/state that should not * force FleetBus re-subscription. * * Chat-history gating (`chatMode`): * - 'full' — every tool call gets its own 🔧 line, interim 💬 text commits * at each tool boundary (legacy behavior). * - 'off' — no subagent chat entries at all; provider errors/retries * still surface as warn/error entries. * The fleet table (F2/F3) is fed in EVERY mode. The mode is read at commit * time via a live ref; a mid-burst flip applies from the next boundary on. * `/clear` mid-run is safe: buffers live inside the effect, and subagent * entries are never rehydrated on resume. */ export declare function useDirectorFleetBridge({ director, dispatch, stateRef, chatMode, sessionGenerationRef, }: UseDirectorFleetBridgeOptions): void; //# sourceMappingURL=use-director-fleet-bridge.d.ts.map