import minimist from "minimist"; import type { ParameterObject, ParameterValues } from "@garden-io/grow-sdk/declarations/params"; import type { GrowError } from "@garden-io/grow-sdk/errors"; import type { PrimitiveMap } from "@garden-io/grow-sdk/util/types"; import { CloudApi } from "../cloud/api"; import type { BuiltinArgs, BuiltinCommandResult, CommandWrapper, ConfigWrapper } from "../config/wrapper"; import type { GrowProcess } from "../config-store/global"; import { GlobalConfigStore } from "../config-store/global"; import type { Log } from "../logger/log-entry"; import type { GlobalOptions } from "./params"; export interface RunOutput { argv: minimist.ParsedArgs; code: number; errors: (GrowError | Error)[]; result: any; consoleOutput?: string; } export interface GrowCliParams { cliVersion: string; initLogger?: boolean; cloudApiFactory?: typeof CloudApi.factory; } export declare class GrowCli { private commands; private fileWritersInitialized; private initLogger; processRecord?: GrowProcess; protected cloudApiFactory: typeof CloudApi.factory; constructor({ initLogger, cloudApiFactory }: { initLogger?: boolean | undefined; cloudApiFactory?: typeof CloudApi.factory | undefined; }); renderHelp(log: Log, workingDir: string, cliInputs: PrimitiveMap): Promise; private initFileWriters; addCommand(command: CommandWrapper): void; runCommand({ command, configWrapper, cliInputs, parsedArgs, parsedOpts, parsedGlobalOpts, processRecord, workingDir, log, startTime, }: { command: CommandWrapper; configWrapper: ConfigWrapper | undefined; cliInputs: PrimitiveMap; parsedArgs: BuiltinArgs & ParameterValues; parsedOpts: ParameterValues; parsedGlobalOpts: ParameterValues; processRecord?: GrowProcess; workingDir: string; log: Log; startTime: Date; }): Promise<{ result: BuiltinCommandResult; analytics: undefined; cloudApi: CloudApi | null; }>; run({ args, exitOnError, processRecord, cwd, }: { args: string[]; exitOnError: boolean; processRecord?: GrowProcess; cwd?: string; }): Promise; getConfig(workingDir: string, cliInputs: PrimitiveMap): Promise; } export declare function validateRuntimeRequirementsCached(log: Log, globalConfig: GlobalConfigStore, requirementCheckFunction: (log: Log) => Promise): Promise;