import type { AgentRecord } from "../types.js"; export type ViewerAgent = Pick; export interface SubagentViewerState { /** Selected agent id while auto-follow is paused. */ selectedAgentId?: string; /** Last selected creation-order index, used to choose a stable neighbor after removal. */ selectedIndex: number; /** When true, the viewer follows the newest current-session agent. */ autoFollow: boolean; } export interface SubagentViewerSnapshot { agents: TAgent[]; selectedAgent?: TAgent; selectedAgentId?: string; selectedIndex: number; count: number; hasAgents: boolean; hasPrevious: boolean; hasNext: boolean; autoFollow: boolean; } export declare function createSubagentViewerState(): SubagentViewerState; export declare function getSubagentViewerSnapshot(agents: readonly TAgent[], state: SubagentViewerState): SubagentViewerSnapshot; export declare function selectSubagentByIndex(agents: readonly TAgent[], state: SubagentViewerState, index: number): SubagentViewerState; export declare function selectNextSubagent(agents: readonly TAgent[], state: SubagentViewerState): SubagentViewerState; export declare function selectPreviousSubagent(agents: readonly TAgent[], state: SubagentViewerState): SubagentViewerState; export declare function pauseSubagentAutoFollow(agents: readonly TAgent[], state: SubagentViewerState): SubagentViewerState; export declare function resumeSubagentAutoFollow(agents: readonly TAgent[], state: SubagentViewerState): SubagentViewerState;