/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
/// <reference types="node" />
/// <reference types="node" />
import type { HelmRepo } from "../../common/helm/helm-repo";
import type { HelmChartManagerCache } from "./helm-chart-manager-cache.injectable";
import type { Logger } from "@openlens/logger";
import type { RepoHelmChartList } from "../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
import type { ExecHelm } from "./exec-helm/exec-helm.injectable";
import type { ReadFile } from "../../common/fs/read-file.injectable";
import type { Stat } from "../../common/fs/stat.injectable";
export interface HelmCacheFile {
    apiVersion: string;
    entries: RepoHelmChartList;
}
interface Dependencies {
    readonly cache: HelmChartManagerCache;
    readonly logger: Logger;
    execHelm: ExecHelm;
    readFile: ReadFile;
    stat: Stat;
}
export declare class HelmChartManager {
    private readonly dependencies;
    protected readonly repo: HelmRepo;
    constructor(dependencies: Dependencies, repo: HelmRepo);
    chartVersions(name: string): Promise<import("../../common/k8s-api/endpoints/helm-charts.api").RawHelmChart[]>;
    charts(): Promise<RepoHelmChartList>;
    private executeCommand;
    getReadme(name: string, version?: string): Promise<import("@openlens/utilities").Result<string, Omit<import("child_process").ExecException, "code"> & Omit<NodeJS.ErrnoException, "code"> & {
        code?: string | number | null | undefined;
    } & {
        stderr: string;
    }>>;
    getValues(name: string, version?: string): Promise<import("@openlens/utilities").Result<string, Omit<import("child_process").ExecException, "code"> & Omit<NodeJS.ErrnoException, "code"> & {
        code?: string | number | null | undefined;
    } & {
        stderr: string;
    }>>;
    protected updateYamlCache(): Promise<{
        data: string;
        mtimeMs: number;
    }>;
    protected cachedYaml(): Promise<RepoHelmChartList>;
}
export {};
