import { ProcessCommandJson } from '../interfaces/process-command-json';
import { CommandUtil, ForceErrorImpl, RemoteCatalogGetter, RemoteCatalogEntry, SafeJson, Spawn } from 'firmament-yargs';
import { ExecutionGraph } from '../custom-typings';
import { ExecutionGraphResolver } from '../interfaces/execution-graph-resolver';
export declare class ProcessCommandJsonImpl extends ForceErrorImpl implements ProcessCommandJson {
    private commandUtil;
    private remoteCatalogGetter;
    private executionGraphResolver;
    private safeJson;
    private spawn;
    constructor(commandUtil: CommandUtil, remoteCatalogGetter: RemoteCatalogGetter, executionGraphResolver: ExecutionGraphResolver, safeJson: SafeJson, spawn: Spawn);
    processExecutionGraphJson(json: string, cb: (err: Error, result: string) => void): void;
    processYargsCommand(argv: any): void;
    processCatalogEntry(catalogEntry: RemoteCatalogEntry, cb: (err: Error, result: string) => void): void;
    processAbsoluteUrl(jsonOrUri: string, cb: (err: Error, result: string) => void): void;
    processExecutionGraph(executionGraph: ExecutionGraph, cb: (err: Error, result: any) => void): void;
    private preProcessExecutionGraphs;
    private executeSingleGraph;
    private executeAsynchronousCommands;
    private executeSynchronousCommands;
    private createSpawnFnArray;
    private spawnWrapper;
    private buildSpawnOptions;
}
