import type { UiQueryResult, UiEvent } from '../../platform/tui/protocol.js'; export interface TabData { data: unknown[]; loading: boolean; error: string | null; lastUpdated: number | null; } export type TabName = 'threads' | 'tasks' | 'schedules' | 'executions' | 'cost'; export interface DashState { tabs: Record; pendingQueries: Set; } export declare const EMPTY_DASH_STATE: DashState; export declare const TAB_SCOPES: Record; export declare function _createPendingQuery(prev: DashState, tab: TabName): DashState; export declare function _clearPendingQuery(prev: DashState, tab: TabName): DashState; export declare function _handleQueryResult(prev: DashState, queryId: string, scopes: Record, frame: UiQueryResult): DashState; export declare function _handleEvent(prev: DashState, activeSubscriptions: Map, frame: UiEvent): DashState; export declare function useDashboardData(): { state: DashState; dispatch: (frame: UiQueryResult | UiEvent) => void; markPending: (tab: TabName) => void; registerSubscription: (queryId: string, tab: TabName) => void; unregisterSubscription: (queryId: string) => void; activeSubscriptions: Map; };