import { type HelmExecutionBuilder } from '../../execution/helm-execution-builder.js';
import { type Options } from '../options.js';
/**
 * The options to be supplied to the helm install command.
 *
 * @param atomic           - if set, the installation process deletes the installation on failure. The --wait flag will
 *                         be set automatically if --atomic is used.
 * @param createNamespace  - create the release namespace if not present.
 * @param dependencyUpdate - update dependencies if they are missing before installing the chart.
 * @param description      - add a custom description.
 * @param enableDNS        - enable DNS lookups when rendering templates.
 * @param force            - force resource updates through a replacement strategy.
 * @param passCredentials  - pass credentials to all domains.
 * @param password         - chart repository password where to locate the requested chart.
 * @param repo             - chart repository url where to locate the requested chart.
 * @param set              - set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
 * @param skipCrds         - if set, no CRDs will be installed. By default, CRDs are installed if not already present.
 * @param timeout          - time to wait for any individual Kubernetes operation (like Jobs for hooks) (default 5m0s).
 * @param username         - chart repository username where to locate the requested chart.
 * @param values           - specify values in a YAML file or a URL (can specify multiple).
 * @param verify           - verify the package before installing it.
 * @param version          - specify a version constraint for the chart version to use. This constraint can be a
 *                         specific tag (e.g. 1.1.1) or it may reference a valid range (e.g. ^2.0.0). If this is not
 *                         specified, the latest version is used.
 * @param waitFor          - if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a
 *                         Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as
 *                         successful. It will wait for as long as --timeout.
 * @param kubeContext      - the Kubernetes context to use.
 * @param namespace        - the namespace to install the chart in.
 * @param extraArgs        - additional arguments to pass to the helm command.
 */
export declare class InstallChartOptions implements Options {
    /**
     * if set, the installation process deletes the installation on failure. The --wait flag will
     * be set automatically if --atomic is used.
     */
    private readonly _atomic;
    /**
     * create the release namespace if not present.
     */
    private readonly _createNamespace;
    /**
     * update dependencies if they are missing before installing the chart.
     */
    private readonly _dependencyUpdate;
    /**
     * add a custom description.
     */
    private readonly _description;
    /**
     * enable DNS lookups when rendering templates.
     */
    private readonly _enableDNS;
    /**
     * force resource updates through a replacement strategy.
     */
    private readonly _force;
    /**
     * pass credentials to all domains.
     */
    private readonly _passCredentials;
    /**
     * chart repository password where to locate the requested chart.
     */
    private readonly _password;
    /**
     * chart repository url where to locate the requested chart.
     */
    private readonly _repo;
    /**
     * set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
     */
    private readonly _set;
    /**
     * if set, no CRDs will be installed. By default, CRDs are installed if not already present.
     */
    private readonly _skipCrds;
    /**
     * time to wait for any individual Kubernetes operation (like Jobs for hooks) (default 5m0s).
     */
    private readonly _timeout;
    /**
     * chart repository username where to locate the requested chart.
     */
    private readonly _username;
    /**
     * specify values in a YAML file or a URL (can specify multiple).
     */
    private readonly _values;
    /**
     * verify the package before installing it.
     */
    private readonly _verify;
    /**
     * specify a version constraint for the chart version to use. This constraint can be a
     * specific tag (e.g. 1.1.1) or it may reference a valid range (e.g. ^2.0.0). If this is not
     * specified, the latest version is used.
     */
    private readonly _version;
    /**
     * if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a
     * Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as
     * successful. It will wait for as long as --timeout.
     */
    private readonly _waitFor;
    /**
     * The Kubernetes context to use.
     */
    private readonly _kubeContext;
    /**
     * The namespace to install the chart in.
     */
    private readonly _namespace;
    /**
     * Additional arguments to pass to the helm command.
     */
    private readonly _extraArgs;
    constructor(atomic: boolean, createNamespace: boolean, dependencyUpdate: boolean, description: string | null, enableDNS: boolean, force: boolean, passCredentials: boolean, password: string | null, repo: string | null, set: string[] | null, skipCrds: boolean, timeout: string | null, username: string | null, values: string[] | null, verify: boolean, version: string | null, waitFor: boolean, kubeContext: string | null, namespace: string | null, extraArguments: string | null);
    get namespace(): string | null;
    apply(builder: HelmExecutionBuilder): void;
    private applyFlags;
    get atomic(): boolean;
    get createNamespace(): boolean;
    get dependencyUpdate(): boolean;
    get description(): string | null;
    get enableDNS(): boolean;
    get force(): boolean;
    get passCredentials(): boolean;
    get password(): string | null;
    get repo(): string | null;
    get set(): string[] | null;
    get skipCrds(): boolean;
    get timeout(): string | null;
    get username(): string | null;
    get values(): string[] | null;
    get verify(): boolean;
    get version(): string | null;
    get waitFor(): boolean;
    get kubeContext(): string | null;
    get extraArgs(): string | null;
}
