import { ValidationBase } from "../helpers/validation/ValidationBase"; import { Serializable } from "../interfaces/Serializable"; import { InputParameter } from "./InputParameter"; import { Plottable } from "./Plottable"; import { EventHub } from "../helpers/EventHub"; import { ParameterTypeModel } from "./ParameterTypeModel"; import { ExpressionModel } from "./ExpressionModel"; import { Expression as V1Expression } from "../../mappings/v1.0/Expression"; import { Expression as SBDraft2Expression } from "../../mappings/d2sb/Expression"; export declare abstract class WorkflowInputParameterModel extends ValidationBase implements InputParameter, Serializable, Plottable { id: string; type: ParameterTypeModel; fileTypes: string[]; secondaryFiles: ExpressionModel[] | any; inputBinding?: any; protected _label?: string; label: string; description?: string; isField: boolean; isVisible: boolean; protected eventHub: EventHub; constructor(loc?: any, eventHub?: any); /** * ID to be used when adding as source */ readonly sourceId: string; /** * ID to be used in graph */ readonly connectionId: string; customProps: any; updateLoc(loc: string): void; abstract addParameter(attr: any): void; abstract addSecondaryFile(file: V1Expression | SBDraft2Expression | string): ExpressionModel; protected _addSecondaryFile(file: V1Expression | SBDraft2Expression | string, exprConstructor: new (...args: any[]) => T, locBase: string): T; abstract updateSecondaryFiles(files: Array): any; protected _updateSecondaryFiles(files: Array): void; abstract removeSecondaryFile(index: number): any; protected _removeSecondaryFile(index: number): void; serialize(): any; deserialize(attr: any): void; validate(): Promise; protected attachFileTypeListeners(): void; }