import { InputParameter } from "./InputParameter"; import { ValidationBase } from "../helpers/validation/ValidationBase"; import { ParameterTypeModel } from "./ParameterTypeModel"; import { Serializable } from "../interfaces/Serializable"; import { CommandLineBindingModel } from "./CommandLineBindingModel"; import { CommandLineBinding as SBDraft2CommandLineBinding } from "../../mappings/d2sb/CommandLineBinding"; import { CommandLineBinding as V1CommandLineBinding } from "../../mappings/v1.0/CommandLineBinding"; import { ExpressionModel } from "./ExpressionModel"; import { EventHub } from "../helpers/EventHub"; import { Expression as V1Expression } from "../../mappings/v1.0/Expression"; import { Expression as SBDraft2Expression } from "../../mappings/d2sb/Expression"; export declare abstract class CommandInputParameterModel extends ValidationBase implements InputParameter, Serializable { /** unique identifier of input */ id: string; type: ParameterTypeModel; fileTypes?: string[]; /** Flag if input is field of a parent record. Derived from type field */ isField: boolean; inputBinding?: CommandLineBindingModel; hasStageInput: boolean; hasSecondaryFiles: boolean; hasSecondaryFilesInRoot: boolean; secondaryFiles: ExpressionModel[] | any; /** Human readable short name */ label?: string; /** Human readable description */ description?: string; isSecret: boolean; customProps: any; protected eventHub: EventHub; constructor(loc?: string, event?: EventHub); readonly isBound: boolean; abstract updateInputBinding(binding: CommandLineBindingModel | SBDraft2CommandLineBinding | V1CommandLineBinding): any; abstract createInputBinding(): CommandLineBindingModel; removeInputBinding(): void; updateLoc(loc: string): 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; validate(context: any): Promise; serialize(): any; deserialize(attr: any): void; protected attachFileTypeListeners(): void; }