///
///
import child_process from "child_process";
export declare type LogCommandResultsArgs = [code: number, stderr?: string, stdout?: string];
export declare type SpawnArgs = {
env?: NodeJS.ProcessEnv;
streaming?: boolean;
cwd?: string;
} | ((code: number, stderr?: string, stdout?: string) => void);
export default class Command {
protected atomNpmPath: string;
protected atomDirectory: string;
protected atomNodeDirectory: string;
protected atomPackagesDirectory: string;
protected atomDevPackagesDirectory: string;
protected electronVersion: string;
installedAtomVersion: string;
protected resourcePath: string;
npm: typeof import("npm");
constructor();
spawn(command: string, args: string[], ...remaining: SpawnArgs[]): child_process.ChildProcessWithoutNullStreams;
fork(script: string, args: string[], ...remaining: SpawnArgs[]): child_process.ChildProcessWithoutNullStreams;
packageNamesFromArgv(argv: any): any;
sanitizePackageNames(packageNames?: string[]): any;
logSuccess(): boolean;
logFailure(): boolean;
logCommandResults(callback: (error?: string) => void, code: number, stderr?: string, stdout?: string): void;
logCommandResultsIfFail(callback: (error?: string) => void, code: number, stderr?: string, stdout?: string): void;
normalizeVersion(version: string): string;
loadInstalledAtomMetadata(callback: () => child_process.ChildProcessWithoutNullStreams): void | child_process.ChildProcess;
getResourcePath(callback: (resourcePath: string) => child_process.ChildProcessWithoutNullStreams): void | child_process.ChildProcess;
addBuildEnvVars(env: Record): string;
getNpmBuildFlags(): string[];
updateWindowsEnv(env: Record): string;
addNodeBinToEnv(env: Record): string;
addProxyToEnv(env: Record): number;
}