/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import type { PrometheusProvider } from "../../prometheus/provider";
import type { ClusterPrometheusPreferences } from "../../../common/cluster-types";
import type { Cluster } from "../../../common/cluster/cluster";
import type { GetPrometheusProviderByKind } from "../../prometheus/get-by-kind.injectable";
import type { IComputedValue } from "mobx";
import type { Logger } from "@openlens/logger";
import type { LoadProxyKubeconfig } from "../load-proxy-kubeconfig.injectable";
export interface PrometheusDetails {
    prometheusPath: string;
    provider: PrometheusProvider;
}
interface Dependencies {
    readonly prometheusProviders: IComputedValue<PrometheusProvider[]>;
    readonly logger: Logger;
    getPrometheusProviderByKind: GetPrometheusProviderByKind;
    loadProxyKubeconfig: LoadProxyKubeconfig;
}
export interface ClusterPrometheusHandler {
    setupPrometheus(preferences?: ClusterPrometheusPreferences): void;
    getPrometheusDetails(): Promise<PrometheusDetails>;
}
export declare const createClusterPrometheusHandler: (args_0: Dependencies, args_1: Cluster) => ClusterPrometheusHandler;
export {};
