import { TaonBaseClass } from 'taon/lib-prod';
import { ___NS__merge } from 'tnp-core/lib-prod';
export class BaseCliWorkerConfigGetContextOptions {
}
/**
 * Default mode: DETACHED_CHILD_PROCESS
 */
export var BaseCLiWorkerStartMode;
(function (BaseCLiWorkerStartMode) {
    BaseCLiWorkerStartMode["CHILD_PROCESS"] = "child";
    BaseCLiWorkerStartMode["IN_CURRENT_PROCESS"] = "process";
    BaseCLiWorkerStartMode["DETACHED_WINDOW"] = "window";
})(BaseCLiWorkerStartMode || (BaseCLiWorkerStartMode = {}));
export class BaseCLiWorkerStartParams {
}
export class BaseCliMethodOptions extends TaonBaseClass {
    static from(opt) {
        opt = opt ?? {};
        opt.cliParams = opt.cliParams ?? {};
        opt.connectionOptions = opt.connectionOptions ?? {};
        const res = new BaseCliMethodOptions().clone(opt);
        res.cliParams = ___NS__merge(new BaseCLiWorkerStartParams(), opt.cliParams);
        res.cliParams.mode =
            res.cliParams.mode || BaseCLiWorkerStartMode.CHILD_PROCESS;
        res.connectionOptions = ___NS__merge(new BaseCliWorkerConfigGetContextOptions(), opt.connectionOptions);
        return res;
    }
}
//# sourceMappingURL=c:/Users/darek/projects/npm/taon-dev/tnp-helpers/dist-nocutsrc-prod/lib/base/classes/base-cli-worker/base-cli-worker.models.js.map