import { type SoloLogger } from '../logging/solo-logger.js';
import { type HelmClient } from '../../integration/helm/helm-client.js';
import { type ChartManager } from '../chart-manager.js';
import { type NamespaceName } from '../../types/namespace/namespace-name.js';
export declare class SharedResourceManager {
    private readonly logger?;
    protected readonly helm?: HelmClient;
    protected readonly chartManager?: ChartManager;
    private postgresEnabled;
    private redisEnabled;
    private additionalValuesArgument;
    constructor(logger?: SoloLogger, helm?: HelmClient, chartManager?: ChartManager);
    setAdditionalValuesArgument(additionalArguments: string): void;
    enablePostgres(): void;
    enableRedis(): void;
    uninstallChart(namespace: NamespaceName, context?: string): Promise<void>;
    /**
     *  Installs the shared resources chart in the specified namespace if it is not already installed.
     *  Returns true if the chart was installed, false if it was already installed.
     * @param namespace
     * @param chartDirectory
     * @param soloChartVersion
     * @param context
     * @param valuesArgumentsMap
     */
    installChart(namespace: NamespaceName, chartDirectory: string, soloChartVersion: string, context?: string, valuesArgumentsMap?: Record<string, string>): Promise<boolean>;
}
