import { Serializable } from "../interfaces/Serializable"; import { TypeResolution } from "../helpers/TypeResolver"; import { CommandLineBinding } from "../../mappings/d2sb/CommandLineBinding"; import { ValidationBase } from "../helpers/validation/ValidationBase"; import { CommandOutputParameterType as SBDraft2CommandOutputParameterType } from "../../mappings/d2sb/CommandOutputParameter"; import { CommandInputParameterType as SBDraft2CommandInputParameterType } from "../../mappings/d2sb/CommandInputParameter"; import { CommandOutputParameterType as V1CommandOutputParameterType } from "../../mappings/v1.0/CommandOutputParameter"; import { CommandInputParameterType as V1CommandInputParameterType } from "../../mappings/v1.0/CommandInputParameter"; import { EventHub } from "../helpers/EventHub"; import { InputBinding } from "../../mappings/v1.0"; export declare type PrimitiveParameterType = "array" | "enum" | "record" | "File" | "string" | "int" | "float" | "null" | "boolean" | "long" | "double" | "bytes" | "Directory" | "map" | "stdin" | "any"; export declare class ParameterTypeModel extends ValidationBase implements Serializable, TypeResolution { symbols: string[]; doc?: string; customProps: any; hasDirectoryType: boolean; hasStdinType: boolean; hasMapType: boolean; private _items; items: PrimitiveParameterType; private _type; type: PrimitiveParameterType; inputBinding: any; isNullable: boolean; isItemOrArray: boolean; typeBinding: CommandLineBinding; fields: Array; private _symbols; name: string; unionType: any; private fieldConstructor; private eventHub; private nameBase; constructor(type: SBDraft2CommandInputParameterType | SBDraft2CommandOutputParameterType | V1CommandOutputParameterType | V1CommandInputParameterType, fieldConstructor?: any, nameBase?: string, loc?: string, eventHub?: EventHub); validate(context?: {}): Promise; serialize(version?: "v1.1" | "v1.0" | "draft-2"): any; addInputBinding(binding: InputBinding): void; deserialize(attr: any): void; updateLoc(loc: string): void; setType(t: PrimitiveParameterType): void; private getNextAvailableName(id); addField(field?: any): any; removeField(field: any): void; removeAllFields(): void; }