export declare class HTTPError extends Error { readonly httpStatusCode: number | undefined; constructor(httpStatusCode: number | undefined); } /** * Download a tool from an url and stream it into a file * * @param url url of tool to download * @returns path to downloaded tool */ export declare function downloadTool(url: string): Promise; /** * Extract a .7z file * * @param file path to the .7z file * @param dest destination directory. Optional. * @param _7zPath path to 7zr.exe. Optional, for long path support. Most .7z archives do not have this * problem. If your .7z archive contains very long paths, you can pass the path to 7zr.exe which will * gracefully handle long paths. By default 7zdec.exe is used because it is a very small program and is * bundled with the tool lib. However it does not support long paths. 7zr.exe is the reduced command line * interface, it is smaller than the full command line interface, and it does support long paths. At the * time of this writing, it is freely available from the LZMA SDK that is available on the 7zip website. * Be sure to check the current license agreement. If 7zr.exe is bundled with your action, then the path * to 7zr.exe can be pass to this function. * @returns path to the destination directory */ export declare function extract7z(file: string, dest?: string, _7zPath?: string): Promise; /** * Extract a tar * * @param file path to the tar * @param dest destination directory. Optional. * @returns path to the destination directory */ export declare function extractTar(file: string, dest?: string): Promise; /** * Extract a zip * * @param file path to the zip * @param dest destination directory. Optional. * @returns path to the destination directory */ export declare function extractZip(file: string, dest?: string): Promise; /** * Caches a directory and installs it into the tool cacheDir * * @param sourceDir the directory to cache into tools * @param tool tool name * @param version version of the tool. semver format * @param arch architecture of the tool. Optional. Defaults to machine architecture */ export declare function cacheDir(sourceDir: string, tool: string, version: string, arch?: string): Promise; /** * Caches a downloaded file (GUID) and installs it * into the tool cache with a given targetName * * @param sourceFile the file to cache into tools. Typically a result of downloadTool which is a guid. * @param targetFile the name of the file name in the tools directory * @param tool tool name * @param version version of the tool. semver format * @param arch architecture of the tool. Optional. Defaults to machine architecture */ export declare function cacheFile(sourceFile: string, targetFile: string, tool: string, version: string, arch?: string): Promise; /** * finds the path to a tool in the local installed tool cache * * @param toolName name of the tool * @param versionSpec version of the tool * @param arch optional arch. defaults to arch of computer */ export declare function find(toolName: string, versionSpec: string, arch?: string): string;