import { ValidationBase } from "../helpers/validation/ValidationBase"; import { Serializable } from "../interfaces/Serializable"; import { WorkflowStepInputModel } from "./WorkflowStepInputModel"; import { WorkflowStepOutputModel } from "./WorkflowStepOutputModel"; import { WorkflowModel } from "./WorkflowModel"; import { CommandLineToolModel } from "./CommandLineToolModel"; import { ExpressionToolModel } from "./ExpressionToolModel"; import { ProcessRequirementModel } from "./ProcessRequirementModel"; import { ScatterMethod } from "../../mappings/v1.0/ScatterMethod"; import { Plottable } from "./Plottable"; import { Process } from "./Process"; import { EventHub } from "../helpers/EventHub"; import { ProcessRequirement } from "./ProcessRequirement"; import { RequirementBaseModel } from "./RequirementBaseModel"; import { InputParameterModel } from "./InputParameterModel"; export declare type Ports = Array; export declare class StepModel extends ValidationBase implements Serializable, Plottable { id: string; description?: string; run: WorkflowModel | CommandLineToolModel | ExpressionToolModel; "in": WorkflowStepInputModel[]; out: WorkflowStepOutputModel[]; isVisible: boolean; hasUpdate: boolean; runPath: string; revisions: any[]; protected _label?: string; label: string; protected readonly eventHub: EventHub; hasMultipleScatter: boolean; hasScatterMethod: boolean; constructor(loc?: any, eventHub?: any); readonly inAsMap: { [key: string]: WorkflowStepInputModel; }; setRunProcess(process: Process): void; requirements?: ProcessRequirementModel[]; hints: Array; scatter?: string | string[]; scatterMethod?: ScatterMethod; readonly connectionId: string; customProps: any; protected compareInPorts(isUpdate?: boolean): void; protected compareOutPorts(isUpdate?: boolean): void; serializeEmbedded(): any; addHint(hint?: ProcessRequirement | any): RequirementBaseModel; protected createReq(req: ProcessRequirement, constructor: any, loc?: string, hint?: boolean): RequirementBaseModel; serialize(): any; deserialize(attr: any): void; static portDifference(stepPorts: Ports, runParameters: InputParameterModel[]): [InputParameterModel[], Ports, Ports]; }