import * as k8s from "@kubernetes/client-node";
import { SoftwareDeliveryMachine } from "../../../api/machine/SoftwareDeliveryMachine";
/**
 * Get Kubernetes configuration.  It first tries to
 * `loadFromDefault()`, which looks in the standard locations for a
 * Kubernetes config file.  If that fails, it attempts to load the
 * in-cluster client credentials.  If both fail, it throws an error.
 */
export declare function loadKubeConfig(): k8s.KubeConfig;
/**
 * Get Kubernetes configuration.  It first tries to load the
 * in-cluster client credentials.  If that fails, it tries
 * `loadFromDefault()`, which looks in the standard locations for a
 * Kubernetes config file.  If both fail, it returns the empty
 * configuration object.
 */
export declare function loadKubeClusterConfig(): k8s.KubeConfig;
/**
 * If the SDM configuration contains a Kubernetes config context,
 * validate it exists in the default Kubernetes config.  If the SDM
 * context is not available in the Kubernetes config, an error is
 * thrown.
 *
 * If there is no context in the SDM configuration, read the current
 * context from the default Kubernetes config and set it in the SDM
 * configuration.
 *
 * If this function is unable to read the default Kubernetes config,
 * it throws an error.
 *
 * @param sdm Running Software Delivery Machine.
 * @return Valid Kubernetes config context.
 */
export declare function kubeConfigContext(sdm: SoftwareDeliveryMachine): string | undefined;
//# sourceMappingURL=config.d.ts.map