/**
 * SPDX-License-Identifier: Apache-2.0
 */
import { type NamespaceName } from './kube/resources/namespace/namespace_name.js';
import { type SoloLogger } from './logging.js';
import { type K8Factory } from './kube/k8_factory.js';
/**
 * Class to check if certain components are installed in the cluster.
 */
export declare class ClusterChecks {
    private readonly logger?;
    private readonly k8Factory?;
    constructor(logger?: SoloLogger, k8Factory?: K8Factory);
    /**
     * Check if cert-manager is installed inside any namespace.
     * @returns if cert-manager is found
     */
    isCertManagerInstalled(): Promise<boolean>;
    /**
     * Check if minio is installed inside the namespace.
     * @returns if minio is found
     */
    isMinioInstalled(namespace: NamespaceName): Promise<boolean>;
    /**
     * Check if the ingress controller is installed inside any namespace.
     * @returns if ingress controller is found
     */
    isIngressControllerInstalled(): Promise<boolean>;
    /**
     * Check if the remote config is installed inside any namespace.
     * @returns if remote config is found
     */
    isRemoteConfigPresentInAnyNamespace(): Promise<boolean>;
    /**
     * Check if the prometheus is installed inside the namespace.
     * @param namespace - namespace where to search
     * @returns if prometheus is found
     */
    isPrometheusInstalled(namespace: NamespaceName): Promise<boolean>;
    /**
     * Searches specific namespace for remote config's config map
     *
     * @param namespace - namespace where to search
     * @returns true if found else false
     */
    isRemoteConfigPresentInNamespace(namespace: NamespaceName): Promise<boolean>;
}
