/** * impl for `vlt run`, `vlt run-exec`, `vlt exec-local`, `vlt exec` * @module */ import type { NormalizedManifest } from '@vltpkg/types'; import type { exec, execFG, ExecOptions, run, runExec, runExecFG, RunExecOptions, runFG, RunFGResult, RunOptions, RunResult } from '@vltpkg/run'; import type { LoadedConfig } from './config/index.ts'; export type RunnerBG = typeof exec | typeof run | typeof runExec; export type RunnerFG = typeof execFG | typeof runExecFG | typeof runFG; export type RunnerOptions = ExecOptions & RunExecOptions & RunOptions; export type MultiRunResult = Record; export type ScriptSet = Record; export type MultiScriptSet = Record; export type ExecResult = RunFGResult | MultiRunResult | ScriptSet | MultiScriptSet; export declare const views: { readonly human: (result: ExecResult) => void; readonly json: (result: ExecResult) => ExecResult | undefined; }; type ViewValues = 'human' | 'json' | 'inspect' | 'silent'; export declare class ExecCommand { #private; bg: B; fg: F; arg0?: string; args: string[]; env?: NodeJS.ProcessEnv; conf: LoadedConfig; projectRoot: string; view: ViewValues; validViewValues: Map; constructor(conf: LoadedConfig, bg: B, fg: F); hasArg0(): this is this & { arg0: string; }; run(): Promise; printResult(path: string, result: RunResult): void; interactiveShell(): string; defaultArg0(): string | undefined; getCwd(): string; fgArg(): RunnerOptions | undefined; bgArg(this: this & { arg0: string; }, cwd: string): RunnerOptions; noArgsSingle(): ScriptSet; noArgsMulti(): MultiScriptSet; getTargets(): { label: string; cwd: string; manifest: NormalizedManifest; }[]; } export {};