/** Angular */
import * as ng from "@angular/core";
/** Core */
import { CoreComponent } from "cmf.core/src/core";
import { ComplexType } from "cmf.core/src/domain/extensions/caches/entityType";
/** ColumnView */
import * as ColumnViewStructure from "cmf.core.controls/src/components/columnView/columnViewStructure";
import { ColumnViewSelectedArgs } from "cmf.core.controls/src/components/columnView/columnView";
/**
* Service call input/output properties definition
*/
export interface ServiceCallIOPropertyDef {
Name: string;
ReferenceType: string;
ReferenceTypeName: string;
ScalarType: string;
CollectionType: string;
FullNamespace: string;
ValueTypeName: string;
ValueType: ComplexType;
}
/**
* Service call input/output definition
*/
export interface ServiceCallIODef {
Name: string;
FullNamespace: string;
Properties: ServiceCallIOPropertyDef[];
}
/**
* Service call definition
*/
export interface ServiceCallDef {
Area: string;
Description: string;
Input: ServiceCallIODef;
Output: ServiceCallIODef;
}
/**
* Service call definition
*/
export interface AreaServiceCallDef {
Name: string;
FullNamespace: string;
APIs: ServiceCallDef[];
}
/**
* Service call picker Component
*
* Used to select a service call.
*
* ## Example
*
* ```
*
* ```
*/
export declare class ServiceCallPicker extends CoreComponent {
private _elementRef;
/**
* Nested ColumnView model
*/
_serviceCallsColumnViewModel: ColumnViewStructure.ColumnViewColumnModel;
/**
* Selected service call
*/
_selectedServiceCall: ServiceCallDef;
/**
* Model definition of all service calls by area
*/
private _serviceCallsModelDef;
/**
* Details property container
*/
private _detailsPropertyContainer;
/**
* ColumnView
*/
private _columnView;
/**
* De-bounced "select service" function to avoid setting a service multiple times
*/
private _debouncedSelectService;
/**
* Selected value input (selected ServiceCall)
*/
value: ServiceCallDef;
/**
* The selected change ServiceCall event. Called whenever a new ServiceCall is selected
*
* @property {ng.EventEmitter} init event
*/
valueChange: ng.EventEmitter;
/**
* Constructor
*/
constructor(_elementRef: ng.ElementRef);
/**
* Selects a service
*/
private selectService;
/**
* Build service calls columnView model
*/
private buildColumnViewModel;
/**
* Updates the Inputs and Outputs properties of the ServiceCall object, setting its ValueType (ComplexType).
*/
private _buildPropertiesValueTypeArrays;
/**
* Sets the ValueType (ComplexType) property on each property inside the provided array of ServiceCallIOPropertyDef.
* @param properties Service call I/O properties array.
*/
private _updatePropertiesValueType;
/**
* Get the ComplexType from a Service call I/O property (ServiceCallIOPropertyDef).
* @param property Service call I/O property.
* @returns The ComplexType type determined.
*/
private getPropertyValueType;
/**
* When columnView item is selected
*/
onColumnViewItemSelected(args: ColumnViewSelectedArgs): void;
/**
* Returns the value type of a service call i/o property
*/
private getValueType;
}
export declare class ServiceCallPickerModule {
}