/**
 * 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<void>;
    /** 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<HealthCheckConfig>;
    /** Auto-refresh on plugin changes */
    autoRefresh?: boolean;
    /** Update check results — provides latestVersion for accurate scoring */
    updateResults?: Array<{
        pluginName: string;
        latestVersion?: string;
        hasUpdate?: boolean;
    }>;
}
/**
 * useHealth hook
 */
export declare function useHealth(options: UseHealthOptions): UseHealthReturn;
export default useHealth;
//# sourceMappingURL=useHealth.d.ts.map