import { FxError, UserError } from "@microsoft/teamsfx-api"; import { DepsCheckerEvent } from "../constant/telemetry"; import { BaseInstallOptions, DependencyStatus, DepsChecker, DepsType } from "../depsChecker"; import { DepsLogger } from "../depsLogger"; import { DepsTelemetry } from "../depsTelemetry"; declare class NodeVersion { readonly version: string; readonly majorVersion: string; constructor(version: string, majorVersion: string); } export declare abstract class NodeChecker implements DepsChecker { protected abstract readonly _nodeNotFoundHelpLink: string; protected abstract readonly _nodeNotSupportedEvent: DepsCheckerEvent; protected abstract readonly _type: DepsType; protected abstract getSupportedVersions(projectPath?: string): Promise; protected abstract isVersionSupported(supportedVersions: string[], version: NodeVersion): boolean; protected abstract getVersionNotSupportedError(supportedVersions: string[], version: NodeVersion): UserError; protected abstract readonly _minErrorVersion: number; protected abstract readonly _maxErrorVersion: number; private readonly _telemetry; private readonly _logger; constructor(logger: DepsLogger, telemetry: DepsTelemetry); getInstallationInfo(installOptions?: BaseInstallOptions): Promise; resolve(installOptions?: BaseInstallOptions): Promise; install(): Promise; getDepsInfo(isInstalled: boolean, supportedVersions: string[], installVersion?: string, error?: FxError): Promise; private static isVersionError; command(): Promise; static getInstalledNodeVersion(): Promise; } export declare class LtsNodeChecker extends NodeChecker { protected readonly _nodeNotFoundHelpLink = "https://aka.ms/teamsfx-node"; protected readonly _nodeNotSupportedEvent = DepsCheckerEvent.nodeNotLts; protected readonly _type = DepsType.LtsNode; protected readonly _minErrorVersion: number; protected readonly _maxErrorVersion: number; protected getSupportedVersions(): Promise; protected isVersionSupported(supportedVersions: string[], version: NodeVersion): boolean; protected getVersionNotSupportedError(supportedVersions: string[], version: NodeVersion): UserError; } export declare class ProjectNodeChecker extends NodeChecker { protected readonly _nodeNotFoundHelpLink = "https://aka.ms/teamsfx-node"; protected readonly _nodeNotSupportedEvent = DepsCheckerEvent.nodeNotSupportedForProject; protected readonly _type = DepsType.ProjectNode; protected readonly _minErrorVersion: number; protected readonly _maxErrorVersion: number; protected getNodeNotSupportedHelpLink(): Promise; protected getSupportedVersions(projectPath?: string): Promise; private getSupportedVersion; protected isVersionSupported(supportedVersions: string[], version: NodeVersion): boolean; protected getVersionNotSupportedError(supportedVersions: string[], version: NodeVersion): UserError; } export {}; //# sourceMappingURL=nodeChecker.d.ts.map