/** Core */
import { CoreComponent } from "cmf.core/src/core";
/** Nested modules */
import { EntityPropertyJoin } from "../entityPropertyPicker/entityPropertyPicker";
/** Angular */
import * as ng from "@angular/core";
export { EntityPropertyJoin };
/**
* @whatItDoes
*
* This component displays an input-like field that allows the user to pick a property that can be accessed from a given entity type
*
* @howToUse
*
* This component requires the entity type name to be enabled
*
* ### Inputs
* `string` : **entityTypeName** - The name of the entity type that will serve as starting point to pick properties from
* `EntityPropertyJoin[] | string` : **value** - Displayed value of entity type property joins
* `EntityPropertyJoin[][]` : **joins** - Joins that hold the information for the properties for the entity property modal.
* `boolean` : **disabled** - Controls wether the input is disabled
* `boolean` : **readonly** - Controls wether the input is readonly
* `boolean` : **selectOnInit** - Auto open the entity property picker modal after the input is shown. defaults to true.
* `string` : **placeholder** - Placeholder text that appears on top of the entity property input when it has no value
* `boolean` : **includeRelations** - Controls wether the input will allow the user to select relations
* `boolean` : **displayAsButton** - Boolean value that if sent to true will represent the empty selection as a button instead of the default style.
* `string` : **mainTitle** - Title of the modal that opens to select a property
* `boolean` : **showJoins** - Boolean value that controls wether joins are shown in the picker
* Defaults to false
*
* ### Outputs
* `EntityPropertyJoin[]` : **valueChange** - Emits the list of entity type properties and joins when the value of the input changes
*
* ### Example
*
* ```HTML
*
*
* ```
*
* @description
*
* ## EntityPropertyInput Component
*
* ### Dependencies
*
* #### Components
* * EntityPropertyModal : `cmf.core.business.controls`
*
*/
export declare class EntityPropertyInput extends CoreComponent implements ng.AfterViewInit {
private viewContainerRef;
/**
* Displayed entity Properties & joins
*/
_entityPropertyJoins: EntityPropertyJoin[];
/**
* Title tooltip for the input
*/
_title: string;
/**
* Controls wether the modal with the property picker will open right on after view init
*/
selectOnInit: boolean;
/**
* Placeholder input
*/
placeholder: string;
/**
* Boolean variable that controls the style of the display when there is no selection
*/
displayAsButton: boolean;
/**
* Boolean value that controls wether join information is shown in the picker
*/
showJoins: boolean;
/**
* Name of the entity type where the properties can be picked
*/
entityTypeName: string;
/**
* Controls wether the input is disabled
*/
disabled: boolean;
/**
* Controls wether the input is readonly
*/
readonly: boolean;
/**
* Controls wether the picker will include relations
*/
includeRelations: boolean;
/**
* Title of the picker modal
*/
mainTitle: string;
/**
* Controls wether value is being set by dynamically parsing a string path
*/
private _settingValue;
/**
* Value input for displayed entity properties and joins
* Can also be set as a string of dot separated properties, given an entity type name
*/
value: EntityPropertyJoin[];
/**
* Current joins in the picker
*/
joins: EntityPropertyJoin[][];
/**
* Event that is emitted when the value of the input changes
*/
valueChange: ng.EventEmitter;
/**
* Constructor
*
* @param viewContainerRef the reference to the component view container
*/
constructor(viewContainerRef: ng.ViewContainerRef);
openModalPicker(): void;
/**
* After view init
*/
ngAfterViewInit(): void;
/**
* Updates the visible title for the input
*/
private updateTitle;
}
export declare class EntityPropertyInputModule {
}