/** * useHealth Hook * * Hook for managing plugin health state and calculations. * * @since v1.72.0 */ import { type HealthCheckConfig, type PluginHealthScore, type ServerHealthSummary } from '../../core/health/index.js'; import type { Plugin } from '../../core/types/index.js'; /** * Health state */ export interface HealthState { /** Server-wide health summary */ summary: ServerHealthSummary | null; /** Individual plugin scores */ pluginScores: PluginHealthScore[]; /** Whether health is loading */ loading: boolean; /** Error message */ error: string | null; /** Last check timestamp */ lastCheck: number | null; } /** * Health hook return type */ export interface UseHealthReturn extends HealthState { /** Refresh health scores */ refresh: () => Promise; /** Get score for a specific plugin */ getPluginScore: (pluginName: string) => PluginHealthScore | undefined; /** Get plugins with issues */ getPluginsWithIssues: () => PluginHealthScore[]; /** Get critical plugins */ getCriticalPlugins: () => PluginHealthScore[]; } /** * Health hook options */ export interface UseHealthOptions { /** Plugins to check health for */ plugins: Plugin[]; /** Server's Minecraft version */ minecraftVersion?: string; /** Health check configuration */ config?: Partial; /** Auto-refresh on plugin changes */ autoRefresh?: boolean; /** Update check results — provides latestVersion for accurate scoring */ updateResults?: Array<{ pluginName: string; latestVersion?: string; hasUpdate?: boolean; }>; /** Whether to enable health calculations (v2.3.14 - gate behind Health tab) */ enabled?: boolean; } /** * useHealth hook */ export declare function useHealth(options: UseHealthOptions): UseHealthReturn; //# sourceMappingURL=useHealth.d.ts.map