/**
 * This class is responsible for downloading the zksolc binary.
 */
export declare class ZksolcCompilerDownloader {
    private _version;
    private readonly _configCompilerPath;
    private readonly _compilersDirectory;
    static getDownloaderWithVersionValidated(version: string, configCompilerPath: string, compilersDir: string): Promise<ZksolcCompilerDownloader>;
    private static _instance;
    static compilerVersionInfoCachePeriodMs: number;
    private _isCompilerPathURL;
    /**
     * Use `getDownloaderWithVersionValidated` to create an instance of this class.
     */
    private constructor();
    getVersion(): string;
    getCompilerPath(): string;
    isCompilerDownloaded(): Promise<boolean>;
    downloadCompiler(): Promise<void>;
    private _downloadCompiler;
    private _getCompilerUrl;
    private _attemptDownload;
    private _postProcessCompilerDownload;
    private _verifyCompilerAndSetVersionIfNeeded;
}
//# sourceMappingURL=downloader.d.ts.map