import { LinkMerge } from "../elements/link-merge"; import { ValidationBase } from "../helpers/validation/ValidationBase"; import { Serializable } from "../interfaces/Serializable"; import { Plottable } from "./Plottable"; import { ParameterTypeModel } from "./ParameterTypeModel"; import { EventHub } from "../helpers/EventHub"; 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 WorkflowOutputParameterModel extends ValidationBase implements Serializable, Plottable { id: string; source: string[]; type: ParameterTypeModel; description?: string; fileTypes: string[]; secondaryFiles: ExpressionModel[] | any; isField: boolean; protected _label?: string; label: string; linkMerge: LinkMerge; isVisible: boolean; protected eventHub: EventHub; constructor(loc?: any, eventHub?: any); readonly destinationId: string; readonly connectionId: string; updateLoc(loc: string): void; customProps: any; 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; }