/** Core */
import { CoreComponent } from "cmf.core/src/core";
/** Angular2 */
import * as ng from "@angular/core";
/** Nested components */
import { PropertiesEditorProperty, PropertyChangeArgs } from "../propertiesEditor/propertiesEditor";
import Cmf from "cmf.lbos";
import { EntityPropertyService, EditMode, PropertyOptions } from "./entityPropertyService";
export { PropertyChangeArgs };
export { PropertyOptions };
/**
* Edit Mode for controls (Edit contemplates Update and UpdateTemplate)
*/
export { EditMode };
/**
* Entity property editor component.
*
* ### Inputs
* `object` : **properties** - The object containing the entity type properties. It is treated as an Immutable object by the component.
*
* ## Example
*
* Assume this HTML Template
*
* ```html
*
*
*
* ```
*
* @class EntityPropertiesEditor
*/
export declare class EntityPropertiesEditor extends CoreComponent implements ng.OnChanges {
private _elementRef;
private _ngZone;
private _propertyService;
private _keyValueDiffers;
/**
* Labels and properties that will be passed to the nested component
*/
_filteredProperties: {
[key: string]: PropertiesEditorProperty;
};
/**
* the EditMode for the current context
*/
private _editMode;
/**
* Entity type properties
*/
properties: {
[key: string]: PropertyOptions | string;
};
/**
* Entity
*/
instance: Cmf.Foundation.BusinessObjects.Entity;
/**
* override the number of bootstrap columns used for the value column
*/
valueNumberOfColumns: number;
/**
* Property Change event emitter.
*/
propertyChange: ng.EventEmitter;
/**
* the EditMode for the current context
*/
editMode: any;
constructor(_elementRef: ng.ElementRef, _ngZone: ng.NgZone, _propertyService: EntityPropertyService, _keyValueDiffers: ng.KeyValueDiffers);
propertyChanged(event: any): void;
/**
* On changes method - fetch metadata properties and update component properties
*/
ngOnChanges(changes: any): void;
}
export declare class EntityPropertiesEditorModule {
}