import { IContext } from 'fbl';
import { IK8sBulkDelete, IK8sObject, IExecOutput } from '../interfaces';
export declare class K8sKubectlService {
    private childProcessService;
    private tempPathsRegistry;
    /**
     * Execute "helm" command
     * @param {string[]} args
     * @param {string} wd
     * @return {Promise<IExecOutput>}
     */
    execKubectlCommand(args: string[], wd?: string): Promise<IExecOutput>;
    /**
     * Bulk removal of K8s objects
     * @param {IK8sBulkDelete} options
     * @param {IContext} context
     * @return {Promise<void>}
     */
    deleteObjects(options: IK8sBulkDelete, context: IContext): Promise<void>;
    /**
     * Delete K8s object
     * @param {IK8sObject} k8sObject
     * @param {IContext} context
     * @return {Promise<void>}
     */
    deleteObject(k8sObject: IK8sObject, context: IContext): Promise<void>;
    /**
     * Apply object
     * @param {IK8sObject} k8sObject
     * @param {IContext} context
     * @return {Promise<void>}
     */
    applyObject(k8sObject: IK8sObject, context: IContext): Promise<void>;
    /**
     * @param {IK8sObject} k8sObject
     * @return {IContextEntity}
     */
    private static createEntity;
    /**
     * Get existing K8s Object
     * @param {IK8sObject} k8sObject
     * @returns {Promise<any>}
     */
    getObject(k8sObject: IK8sObject): Promise<any>;
    /**
     * Get k8s objects
     *
     * @param {string} kind
     * @param {string} namespace
     * @return {Promise<string[]>}
     */
    listObjects(kind: string, namespace?: string): Promise<string[]>;
}
