import type { InstallChartTabStore } from "./store";
import React from "react";
import type { RequestCreateHelmRelease } from "../../../../common/k8s-api/endpoints/helm-releases.api/request-create.injectable";
import type { HelmReleaseUpdateDetails } from "../../../../common/k8s-api/endpoints/helm-releases.api";
import type { NavigateToHelmReleases } from "../../../../common/front-end-routing/routes/cluster/helm/releases/navigate-to-helm-releases.injectable";
import type { SingleValue } from "react-select";
import type { RequestHelmChartValues } from "../../../../common/k8s-api/endpoints/helm-charts.api/request-values.injectable";
import type { RequestHelmChartVersions } from "../../../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
declare const installChartModelInjectable: import("@ogre-tools/injectable").Injectable<Promise<InstallChartModel>, unknown, string>;
export default installChartModelInjectable;
interface Dependencies {
    tabId: string;
    closeTab: () => void;
    navigateToHelmReleases: NavigateToHelmReleases;
    waitForChart: () => Promise<void>;
    callForCreateHelmRelease: RequestCreateHelmRelease;
    requestHelmChartValues: RequestHelmChartValues;
    requestHelmChartVersions: RequestHelmChartVersions;
    store: InstallChartTabStore;
}
export declare class InstallChartModel {
    private readonly dependencies;
    readonly namespace: {
        value: import("mobx").IComputedValue<string>;
        onChange: (option: SingleValue<{
            label: string;
            value: string;
        }>) => void;
    };
    readonly customName: {
        value: import("mobx").IComputedValue<string>;
        onChange: (customName: string) => void;
    };
    private readonly versions;
    readonly installed: import("mobx").IObservableValue<HelmReleaseUpdateDetails | undefined>;
    private save;
    readonly version: {
        value: import("mobx").IComputedValue<string>;
        onChange: (version: string | undefined) => Promise<void>;
        options: import("mobx").IComputedValue<{
            label: string;
            value: string;
        }[]>;
    };
    readonly configuration: {
        value: import("mobx").IComputedValue<string>;
        isLoading: import("mobx").IObservableValue<boolean>;
        onChange: (configuration: string) => void;
    };
    readonly errorInConfiguration: {
        value: import("mobx").IObservableValue<string | undefined>;
        onChange: (error: unknown) => void;
    };
    readonly executionOutput: {
        isShown: import("mobx").IObservableValue<boolean>;
        show: () => void;
        close: () => void;
    };
    constructor(dependencies: Dependencies);
    private get chart();
    load: () => Promise<void>;
    get isValid(): boolean;
    get chartName(): string;
    private get name();
    private get repository();
    install: () => Promise<React.JSX.Element>;
    navigateToInstalledRelease: () => void;
}
