/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
export interface RawHelmChart {
    apiVersion: string;
    name: string;
    version: string;
    repo: string;
    created: string;
    digest?: string;
    kubeVersion?: string;
    description?: string;
    home?: string;
    engine?: string;
    icon?: string;
    appVersion?: string;
    type?: string;
    tillerVersion?: string;
    deprecated?: boolean;
    keywords?: string[];
    sources?: string[];
    urls?: string[];
    maintainers?: HelmChartMaintainer[];
    dependencies?: RawHelmChartDependency[];
    annotations?: Record<string, string>;
}
export interface HelmChartCreateOpts {
    onError?: "throw" | "log";
}
export interface HelmChartMaintainer {
    name: string;
    email: string;
    url?: string;
}
export interface RawHelmChartDependency {
    name: string;
    repository: string;
    condition?: string;
    version: string;
    tags?: string[];
}
export type HelmChartDependency = Required<Omit<RawHelmChartDependency, "condition">> & Pick<RawHelmChartDependency, "condition">;
export interface HelmChartData {
    apiVersion: string;
    name: string;
    version: string;
    repo: string;
    created: string;
    description: string;
    keywords: string[];
    sources: string[];
    urls: string[];
    annotations: Record<string, string>;
    dependencies: HelmChartDependency[];
    maintainers: HelmChartMaintainer[];
    deprecated: boolean;
    kubeVersion?: string;
    digest?: string;
    home?: string;
    engine?: string;
    icon?: string;
    appVersion?: string;
    type?: string;
    tillerVersion?: string;
}
export declare class HelmChart implements HelmChartData {
    apiVersion: string;
    name: string;
    version: string;
    repo: string;
    created: string;
    description: string;
    keywords: string[];
    sources: string[];
    urls: string[];
    annotations: Record<string, string>;
    dependencies: HelmChartDependency[];
    maintainers: HelmChartMaintainer[];
    deprecated: boolean;
    kubeVersion?: string;
    digest?: string;
    home?: string;
    engine?: string;
    icon?: string;
    appVersion?: string;
    type?: string;
    tillerVersion?: string;
    private constructor();
    static create(data: RawHelmChart): HelmChart;
    static create(data: RawHelmChart, opts?: HelmChartCreateOpts): HelmChart | undefined;
    getId(): string;
    getName(): string;
    getFullName(seperator?: string): string;
    getDescription(): string;
    getIcon(): string | undefined;
    getHome(): string | undefined;
    getMaintainers(): HelmChartMaintainer[];
    getVersion(): string;
    getRepository(): string;
    getAppVersion(): string | undefined;
    getKeywords(): string[];
}
