///
import { SpawnOptions } from 'child_process';
import { IPrerequisiteError } from './error';
import { INebulaPlatformConfigDeploy, INebulaHelmConfig, INebulaPlatformConfig, NebulaBuildServiceType, INebulaPlatformServicesConfig } from '../typings/config';
import { IHelmDependency, IHelmChart } from '../typings/helm';
import { NamingService } from '../services/NamingService';
import { Maybe } from '../../typings/misc';
import { FilePath } from '../../typings/opaque';
export declare namespace Helm {
const exe = "helm";
/**
* Test that helm version is the correct
*/
function checkHelmVersion(expectedVersion: string, cwd?: string): Promise;
function helmClean(helmPath: string): Promise;
function initialiseEnv(root: string): Promise;
/**
* Set helm to a version if using helmenv
*/
function setHelmVersion(desiredVersion: string, helmVersionFilePath: string): Promise;
/**
* Create base helm chart and add missing components
*/
function helmCreate(helmPath: string): Promise>;
/**
* Selects helm chart details based on a service type
* @param {NebulaBuildServiceType} serviceType serviceType
* @param {INebulaPlatformConfigDeploy} deploy deploy
* @param {INebulaPlatformServicesConfig} services services
* @returns {IHelmChart} helm chart
*/
function selectHelmChart(serviceType: NebulaBuildServiceType, deploy: INebulaPlatformConfigDeploy, services: INebulaPlatformServicesConfig): IHelmChart;
function helmBuildCoreTemplates(secretsTemplatePath: FilePath, naming: NamingService): Promise;
function helmRebuild(helmPath: string, dependencies: IHelmDependency[], config: INebulaPlatformConfig): Promise>;
function checkHelmPrerequisites(config: INebulaHelmConfig): Promise;
function lint(chartPath: string, { strict, ...options }: SpawnOptions & {
strict: boolean;
}, ...valuesFiles: string[]): Promise;
function repoAdd(name: string, path: string, options?: SpawnOptions & {
allowFail?: boolean;
}): Promise;
function showChart(chartName: string, options?: SpawnOptions & {
allowFail?: boolean;
}): Promise;
function getLocalChartVersion(chartName: string, options?: SpawnOptions & {
allowFail?: boolean;
}): Promise;
function depBuild(name: string, options?: SpawnOptions & {
allowFail?: boolean;
}): Promise;
function packageChart(name: string, options?: SpawnOptions & {
allowFail?: boolean;
}): Promise;
function chartVersionExists(name: string, version: string, options?: SpawnOptions & {
allowFail?: boolean;
}): Promise;
function template(chartPath: string, options?: SpawnOptions, ...valuesFiles: string[]): Promise;
/**
* Delete deployments that are not successful as this will cause errors in deployments. Supported states are failed and pending-install.
*/
function deleteFailed(cwd: string): Promise;
function packageLocalChartIfNotPublished(chartName: string, cwd: string): Promise<{
chartVersion: string;
exists: boolean;
}>;
}