import { SonarQubeClient as WebApiClient } from 'sonarqube-web-api-client'; /** * Base class for all domain modules */ export declare abstract class BaseDomain { protected readonly webApiClient: WebApiClient; protected readonly organization: string | null; protected readonly logger: import("../utils/logger.js").Logger; constructor(webApiClient: WebApiClient, organization: string | null); /** * Wrap a SonarQube API call with retry, metrics and circuit breaker */ protected tracedApiCall(endpoint: string, operation: () => Promise): Promise; /** * Categorize error for metrics */ private categorizeError; }