///
import { JobOptBase } from './common/jobopt_model';
import { EngineInterface, EngineSpecs, BinariesSpec } from '../../lib/engine';
import { Readable } from 'stream';
import { Socket as SocketServer } from 'socket.io';
import { uuid } from './base';
import { JobInputs } from '../../job/inputs';
export type ServerStatus = 'busy' | 'available';
export declare const JobOptKeys: string[];
export interface JobOpt extends JobOptBase {
id: uuid;
engine: EngineInterface;
emulated: boolean;
internalIP: string;
internalPort: number;
workDir: string;
cwd?: string;
cwdClone?: boolean;
ttl?: number;
sysSettingsKey?: string;
fromConsumerMS: boolean;
inputs: Record | JobInputs;
script: Readable;
socket: SocketServer;
}
export interface netStreamInputs {
script: Readable;
inputs: Record;
}
export interface JobSerial extends JobOptBase {
id: string;
workDir: string;
scriptHash: string;
inputHash?: Record;
cmd?: string;
}
export interface JobManagerSpecs {
cacheDir: string;
tcp: string;
port: number;
nWorker?: number;
cycleLength?: string;
forceCache?: string;
engineSpec: EngineSpecs;
microServicePort?: number;
warehouseAddress?: string;
warehousePort?: number;
warehouseTest?: boolean;
engineBinaries?: BinariesSpec;
}
export declare function isSpecs(opt: any): opt is JobManagerSpecs;