import { BaseDependencyManager } from './base-dependency-manager.js';
import { PackageDownloader } from '../package-downloader.js';
import { Zippy } from '../zippy.js';
import { PodmanMode } from '../../types/index.js';
export declare class PodmanDependencyManager extends BaseDependencyManager {
    protected readonly downloader: PackageDownloader;
    protected readonly installationDirectory: string;
    protected readonly podmanVersion: string;
    private readonly zippy;
    protected readonly helpersDirectory: string;
    protected checksum: string;
    protected releaseBaseUrl: string;
    protected artifactFileName: string;
    protected artifactVersion: string;
    constructor(downloader: PackageDownloader, installationDirectory: string, osPlatform: NodeJS.Platform, osArch: string, podmanVersion: string, zippy: Zippy, helpersDirectory: string);
    /**
     * Get the Podman artifact name based on version, OS, and architecture
     */
    protected getArtifactName(): string;
    get mode(): PodmanMode;
    getVersion(executablePath: string): Promise<string>;
    /**
     * Fetches the latest release information from GitHub API
     * @returns Promise with the release base URL, asset name, digest, and version
     */
    private fetchLatestReleaseInfo;
    shouldInstall(): Promise<boolean>;
    protected preInstall(): Promise<void>;
    protected getDownloadURL(): string;
    /**
     * Handle any post-download processing before copying to destination
     * Child classes can override this for custom extraction or processing
     */
    protected processDownloadedPackage(packageFilePath: string, temporaryDirectory: string): Promise<string[]>;
    protected getChecksumURL(): string;
    /**
     * Create a custom containers.conf file for Podman and set the CONTAINERS_CONF env variable
     * @private
     */
    setupConfig(): Promise<void>;
}
