import { LogProvider, Result } from "@microsoft/teamsfx-api"; import AdmZip from "adm-zip"; import { InstallNodeJSError } from "../../../error"; import { WrapDriverContext } from "../util/wrapUtil"; export declare const ComponentName = "NodeInstaller"; export interface NodeDownloadMirror { name: string; url: string; indexJsonUrl: string; packageUrlTpl: HandlebarsTemplateDelegate; indexJson?: { lts: false | string; version: string; }[]; version?: string; packageUrl?: string; time?: number; } export declare const NodejsMirrors: NodeDownloadMirror[]; export interface EnsureNodeJSResult { status: "ignore" | "installed"; installPath?: string; totalTime?: number; } export declare class NodejsInstaller { getNameAndExt(): { name: string; ext: string; }; getLatestLTSVersion(mirror: NodeDownloadMirror): string | undefined; fetchJSON(url: string): Promise>; fetchString(url: string, timeout?: number): Promise>; resolveUrl(baseUrl: string, href: string): string; testMirrorSpeed(mirror: NodeDownloadMirror, osArchName: string, ext: string, timeout: number, logger?: LogProvider): Promise; getBestMirror(osArchName: string, ext: string, logger?: LogProvider): Promise; parseHtmlToGetUrl(url: string, html: string, pattern: string): string | undefined; fetchBinary(url: string, timeout?: number, onProgress?: (progress: string) => void): Promise>; getAdmZip(buffer: Buffer): AdmZip; extractZip(buffer: Buffer, targetDir: string): void; extractTar(buffer: Buffer, fileName: string, targetDir: string): void; extractPackage(buffer: Buffer, fileName: string, targetDir: string): void; getDownloadUrl(mirror: NodeDownloadMirror, version: string, osArchName: string, ext: string): string; ensureNodeJS(context: WrapDriverContext, checkSystemInstalled: boolean, checkUserFolderInstalled: boolean): Promise>; } export declare const nodejsInstaller: NodejsInstaller; //# sourceMappingURL=nodeInstaller.d.ts.map