import { type SoloLogger } from '../logging/solo-logger.js';
import { type K8Factory } from '../../integration/kube/k8-factory.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';
import { ContainerReference } from '../../integration/kube/resources/container/container-reference.js';
export declare class PostgresSharedResource {
    private readonly logger?;
    private readonly k8Factory?;
    protected readonly helm?: HelmClient;
    protected readonly chartManager?: ChartManager;
    private static readonly POSTGRES_LABEL_SELECTOR;
    constructor(logger?: SoloLogger, k8Factory?: K8Factory, helm?: HelmClient, chartManager?: ChartManager);
    waitForPodReady(namespace: NamespaceName, context: string): Promise<void>;
    resolveContainerReference(namespace: NamespaceName, context: string): Promise<ContainerReference>;
    private static tryToDecode;
    initializeMirrorNode(namespace: NamespaceName, context: string, prefix?: string): Promise<void>;
}
export declare function getMirrorNodeReleaseTag(version: string): string;
