import type { SonarQubeHealthStatus, SonarQubeSystemStatus } from '../types/index.js'; import { BaseDomain } from './base.js'; /** * Domain module for system-related operations */ export declare class SystemDomain extends BaseDomain { /** * Gets the health status of the SonarQube instance using V2 API * * The V2 API response structure differs from V1: * - V2 returns `status` field instead of `health` * - V2 includes optional `nodes` array for clustered setups * - Each node can have its own `causes` array for health issues * * This method transforms the V2 response to maintain backward compatibility * with the existing SonarQubeHealthStatus interface. * * @returns Promise with the health status containing aggregated causes from all nodes */ getHealth(): Promise; /** * Extracts and aggregates causes from all nodes in a clustered SonarQube setup * * @param nodes - Optional array of nodes from V2 health API response * @returns Array of all causes from all nodes, or empty array if no nodes/causes * @private */ private extractCausesFromNodes; /** * Gets the system status of the SonarQube instance * @returns Promise with the system status */ getStatus(): Promise; /** * Pings the SonarQube instance * @returns Promise with the ping response */ ping(): Promise; }