/** * Panel resource diagnostics panel data provider. * * Polls the shared ComponentHealthMonitor and produces ComponentResourceSnapshot * values for the panel resource diagnostics view. * * Subscribers are notified on each poll cycle. The poll interval is * configurable; callers can also request an immediate snapshot via * getSnapshot(). */ import type { ComponentHealthMonitor } from '../../perf/component-health-monitor.js'; import type { ComponentResourceSnapshot } from '../types.js'; /** * PanelResourcesPanel, diagnostic data provider for panel resource health. * * Polls the ComponentHealthMonitor on a configurable interval and maintains a * current ComponentResourceSnapshot for the diagnostics panel to render. */ export declare class PanelResourcesPanel { private readonly _pollIntervalMs; private readonly _monitor; private _current; private _timerId; private readonly _subscribers; constructor(monitor: ComponentHealthMonitor, pollIntervalMs?: number); /** * Start polling the health monitor. * Safe to call multiple times, subsequent calls are no-ops. */ start(): void; /** * Stop polling. */ stop(): void; /** * Return the most recent panel resource snapshot. */ getSnapshot(): ComponentResourceSnapshot; /** * Force an immediate snapshot refresh and return it. */ refresh(now?: number): ComponentResourceSnapshot; /** * Register a callback invoked whenever the snapshot is refreshed. * @returns An unsubscribe function. */ subscribe(callback: () => void): () => void; /** * Stop polling and clear all subscribers. */ dispose(): void; private _buildSnapshot; private _refreshWithResilience; private _emptySnapshot; private _notify; } //# sourceMappingURL=panel-resources.d.ts.map