import { StarshipConfig } from '@starship-ci/types';
import { ConfigMap, Deployment, Service } from 'kubernetesjs';
import { IGenerator, Manifest } from '../types';
/**
 * Prometheus generators for monitoring
 * Based on the Helm template: monitoring/prometheus.yaml
 */
export declare class PrometheusConfigMapGenerator implements IGenerator {
    private config;
    constructor(config: StarshipConfig);
    generate(): Array<ConfigMap>;
    private generatePrometheusConfig;
}
export declare class PrometheusRbacGenerator implements IGenerator {
    private config;
    constructor(config: StarshipConfig);
    generate(): Array<Manifest>;
}
export declare class PrometheusServiceGenerator implements IGenerator {
    private config;
    constructor(config: StarshipConfig);
    generate(): Array<Service>;
}
export declare class PrometheusDeploymentGenerator implements IGenerator {
    private config;
    constructor(config: StarshipConfig);
    generate(): Array<Deployment>;
}
/**
 * Grafana generators for monitoring
 * Based on the Helm template: monitoring/grafana.yaml
 */
export declare class GrafanaConfigMapGenerator implements IGenerator {
    private config;
    private projectRoot;
    constructor(config: StarshipConfig, projectRoot?: string);
    private loadGrafanaDashboards;
    generate(): Array<ConfigMap>;
}
export declare class GrafanaServiceGenerator implements IGenerator {
    private config;
    constructor(config: StarshipConfig);
    generate(): Array<Manifest>;
}
export declare class GrafanaDeploymentGenerator implements IGenerator {
    private config;
    constructor(config: StarshipConfig);
    generate(): Array<Manifest>;
}
/**
 * Main Monitoring builder
 * Orchestrates Prometheus and Grafana generation
 */
export declare class MonitoringBuilder implements IGenerator {
    private config;
    private generators;
    constructor(config: StarshipConfig, projectRoot?: string);
    generate(): Array<Manifest>;
}
