import type { FleetChatVerbosity } from '@wrongstack/core/types'; import type { Action } from '../app-reducer.js'; export interface FleetStreamController { /** Fleet-chat verbosity: off | compact | full. */ mode: FleetChatVerbosity; setMode: (mode: FleetChatVerbosity) => void; } export interface EnhanceController { enabled: boolean; setEnabled: (enabled: boolean) => void; } export interface AgentsMonitorController { visible: boolean; setVisible: (visible: boolean) => void; } export interface UseTuiControllersOptions { dispatch: React.Dispatch; fleetChat: FleetChatVerbosity; enhanceEnabled: boolean; agentsMonitorOpen: boolean; fleetStreamController?: FleetStreamController | undefined; enhanceController?: EnhanceController | undefined; agentsMonitorController?: AgentsMonitorController | undefined; } /** * Bridge mutable slash-command controllers into reducer-backed TUI state. * * These controllers are owned by the CLI/slash-command layer, but while the * TUI is mounted they should dispatch into React state instead of mutating * inert mirrors. On unmount we restore mirror-only setters for late callbacks. */ export declare function useTuiControllers({ dispatch, fleetChat, enhanceEnabled, agentsMonitorOpen, fleetStreamController, enhanceController, agentsMonitorController, }: UseTuiControllersOptions): void; //# sourceMappingURL=use-tui-controllers.d.ts.map