import type { K8 } from '../../k8.js';
import type { ComponentsDataWrapper } from './components_data_wrapper.js';
/**
 * Static class is used to validate that components in the remote config
 * are present in the kubernetes cluster, and throw errors if there is mismatch.
 */
export declare class RemoteConfigValidator {
    /**
     * Gathers together and handles validation of all components.
     *
     * @param components - components which to validate.
     * @param k8 - to validate the elements.
     * TODO: Make compatible with multi-cluster K8 implementation
     */
    static validateComponents(components: ComponentsDataWrapper, k8: K8): Promise<void>;
    private static validateRelays;
    private static validateHaProxies;
    private static validateMirrorNodes;
    private static validateEnvoyProxies;
    private static validateConsensusNodes;
    private static validateMirrorNodeExplorers;
    /**
     * Generic handler that throws errors.
     *
     * @param type - name to display in error message
     * @param component - component which is not found in the cluster
     * @param e - original error for the kube client
     */
    private static throwValidationError;
}
