/** Core */
import { CoreComponent } from "cmf.core/src/core";
/** Angular2 */
import * as ng from "@angular/core";
import Cmf from "cmf.lbos";
export interface ComponentData {
property: any;
label: string;
optional: boolean;
units?: string;
labelHidden?: boolean;
propertyIconClass?: string;
isDisplayOnly?: boolean;
}
export interface PropertyOptions {
label: string;
optional?: boolean;
units?: string;
visible?: boolean;
/**
* Entity Type Property metadata
*/
entityTypeProperty?: Cmf.Foundation.BusinessObjects.EntityTypeProperty;
labelHidden?: boolean;
propertyIconClass?: string;
isDisplayOnly?: boolean;
}
/**
* @whatItDoes
*
* Used to view a properties of an entity instance.
*
*
* @howToUse
*
* This component is used with the inputs and outputs mentioned below.
*
*
* ### Inputs
* `Cmf.Foundation.BusinessObjects.Entity` : **instance** - Instance for which the properties will be showed
* `object ` : **properties** - Entity type property to be displayed or string for path
* `bool` : **propertiesOptionalValue** - If properties are set as key value pair,
* set the optional option for property according to this value. Default is false.
*
*
*
* ### Example
* To use the component, assume this HTML Template as an example:
*
* ```HTML
*
*
*
*
*
*
*
*
* ```
*
* @description
*
* ## EntityPropertiesViewer Component
*
* ### Dependencies
*
* #### Components
* * PropertyContainer : `cmf.core.business.controls`
* * EntityPropertyViewer : `cmf.core.business.controls`
*
*
* #### Services
* _This component does not depend on any service_
*
* #### Directives
* _This component does not depend on any directive_
*
*/
export declare class EntityPropertiesViewer extends CoreComponent implements ng.OnChanges {
private _elementRef;
/**
* All Entity type properties
*/
_componentData: Array;
/**
* Labels and properties that will be passed to the nested component
*/
private _allProperties;
/**
* If properties are set as key value pair, set the optional option for property according to this value. Default is false.
*/
propertiesOptionalValue: boolean;
/**
* Entity type properties
*/
properties: {
[key: string]: string | PropertyOptions;
};
/**
* Entity
*/
instance: Cmf.Foundation.BusinessObjects.Entity;
constructor(_elementRef: ng.ElementRef);
/**
* Based on metadata properties and supplied labels/properties, updates component properties
*/
private updateProperties;
/**
* On changes method - fetch metadata properties and update component properties
*/
ngOnChanges(changes: any): Promise;
}
export declare class EntityPropertiesViewerModule {
}