export declare class Docker {
    private config;
    private cache;
    constructor(options: any);
    load(): Promise<{
        compile: (options: any) => string;
        version: () => string;
    }>;
    /**
     * Fetch list of solc versions available as Docker images.
     *
     * This returns a promise for an object with three fields:
     *   { latestRelease, releases, prereleases }
     * NOTE that `releases` and `prereleases` in this object are both
     * AsyncIterableIterators (thus, use only `for await (const ...)` to consume)
     */
    list(): Promise<{
        prereleases: import("iter-tools").AsyncIterableIterator<any>;
        releases: import("iter-tools").AsyncIterableIterator<any>;
        latestRelease: string | undefined;
    }>;
    downloadDockerImage(image: any): void;
    validateAndGetSolcVersion(): Promise<string>;
    streamAllDockerTags(): AsyncGenerator<any, void, unknown>;
}
export declare class NoDockerError extends Error {
    constructor();
}
export declare class NoStringError extends Error {
    constructor(input: any);
}
