import { IContext } from 'fbl';
import { IHelmChart, IHelmDeploymentInfo, IExecOutput } from '../interfaces';
export declare class K8sHelmService {
    private childProcessService;
    private tempPathsRegistry;
    /**
     * Execute "helm" command
     * @param {string[]} args
     * @param {string} wd
     * @return {Promise<IExecOutput>}
     */
    execHelmCommand(args: string[], wd?: string): Promise<IExecOutput>;
    /**
     * Remove helm chart
     * @param {string} name
     * @param {IContext} context
     * @return {Promise<void>}
     */
    remove(name: string, context: IContext): Promise<void>;
    private createEntity;
    /**
     * Update or install helm chart
     * @param {IHelmChart} config
     * @param {string} wd working directory
     * @param context
     * @return {Promise<void>}
     */
    updateOrInstall(config: IHelmChart, wd: string, context: IContext): Promise<void>;
    /**
     * List installed helms
     * @returns {Promise<string[]>}
     */
    listInstalledHelms(): Promise<string[]>;
    /**
     * Check if deployment exists
     * @param {string} name
     * @returns {Promise<boolean>}
     */
    isDeploymentExists(name: string): Promise<boolean>;
    /**
     * Get k8s objects in helm
     *
     * @param {string} name
     * @return {Promise<IK8sObject[]>}
     */
    getHelmObjects(name: string): Promise<any[]>;
    /**
     * Get information about helm deployment
     * @param {string} name
     * @returns {Promise<IHelmDeploymentInfo>}
     */
    getHelmDeployment(name: string): Promise<IHelmDeploymentInfo>;
    /**
     * @param {string} yamlValue
     * @param {object} defaultValue
     */
    parseYaml(yamlValue: string, defaultValue: any): any;
}
