import { CompilerPlatform, ICompilerDownloader } from "hardhat/internal/solidity/compiler/downloader"; import { download } from "./download"; import { CompilerName, type ResolcCompiler } from "./types"; export interface IResolcCompilerDownloader extends Omit { getCompiler(version: string): Promise; } export declare class ResolcCompilerDownloader implements IResolcCompilerDownloader { private readonly _platform; private readonly _compilersDir; private readonly _compilerListCachePeriodMs; private readonly _downloadFunction; static getCompilerPlatform(): CompilerPlatform; static getCompilerName(): CompilerName; private static _downloaderPerPlatform; static getConcurrencySafeDownloader(platform: CompilerPlatform, compilersDir: string): ResolcCompilerDownloader; static defaultCompilerListCachePeriod: number; private readonly _mutex; constructor(_platform: CompilerPlatform, _compilersDir: string, _compilerListCachePeriodMs?: number, _downloadFunction?: typeof download); isCompilerDownloaded(version: string): Promise; downloadCompiler(version: string, downloadStartedCb: (isCompilerDownloaded: boolean) => Promise, downloadEndedCb: (isCompilerDownloaded: boolean) => Promise): Promise; getCompiler(version: string): Promise; private _downloadCompilerList; private _getCompilerListPath; private _shouldDownloadCompilerList; private _getCompilerBuild; private _readCompilerList; private _getCompilerDownloadPathFromBuild; private _getCompilerBinaryPathFromBuild; private _getCompilerDoesntWorkFile; private _downloadCompiler; private _verifyCompilerDownload; private _postProcessCompilerDownload; private _checkNativeResolc; }