import { ConfigService } from '@nestjs/config';
import { Repository } from 'typeorm';
import { ClusterEntity } from '../../infrastructure/clusters/entities/cluster.entity';
/**
 * Service for retrieving Grafana configuration and credentials
 * This service breaks the circular dependency by directly querying the clusters table
 * instead of depending on ObservabilityClusterService
 */
export declare class GrafanaConfigService {
    private readonly clusterRepository;
    private readonly configService;
    private readonly logger;
    constructor(clusterRepository: Repository<ClusterEntity>, configService: ConfigService);
    /**
     * Get Grafana URL and credentials from observability cluster metadata
     * @returns Grafana endpoint URL, username, and admin password
     */
    getGrafanaCredentials(): Promise<{
        url: string;
        username: string;
        password: string;
    }>;
    /**
     * Get the observability cluster entity
     * @returns ObservabilityCluster entity or null if not found
     */
    getObservabilityCluster(): Promise<ClusterEntity | null>;
    /**
     * Get Grafana endpoint URL
     * @returns Grafana HTTP endpoint (e.g., "http://1.2.3.4:30300")
     */
    getGrafanaEndpoint(): Promise<string | null>;
    /**
     * Get Grafana admin password
     * @returns Grafana admin password
     */
    getGrafanaPassword(): Promise<string | null>;
    /**
     * Get Basic Auth header for Grafana API
     * @returns Base64 encoded Basic Auth credentials
     */
    getGrafanaAuthHeader(): Promise<string | null>;
}
