import { type NamespaceName } from '../types/namespace/namespace-name.js';
import { type SoloLogger } from './logging/solo-logger.js';
import { type K8Factory } from '../integration/kube/k8-factory.js';
import { Context } from '../types/index.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(context: Context): 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>;
}
