/** Angular2 */
import * as ng from "@angular/core";
/** Core */
import { CoreComponent } from "cmf.core/src/core";
/**
* @whatItDoes
*
* This component is used in order to display a dropdown list of entries.
*
* This component differs from the standard dropdown list in the following
* ways:
*
* * It displays a label on the dropdown title containing the number of
* entries that are currently selected on the dropdown list.
* * If there are no entries selected in the dropdown, then it assumes that
* all of the entries are selected.
*
* @howToUse
* This component is used with the inputs and outputs mentioned below.
*
* ### Inputs
* `string[]` : **entries** - The entries to display in the dropdown list.
* `string[]` : **selectedEntries** - An array containing the strings that
* represent the entries that are currently selected in the dropdown.
*
* ### Outputs
* `Cmf.Foundation.BusinessObjects.Entity` : **selectedEntriesChange** - Emits
* an array containing the entries currently selected in the dropdown list.
*
* ### Example
* To use the component, assume the following HTML Templates as examples:
*
* ```HTML
*
*
* ```
*
* ### Dependencies
*
* #### Components
* Dropdown : `cmf.core.controls`
*
* #### Services
* _This component does not depend on any service._
*
* #### Directives
* _This component does not depend on any directive._
*/
export declare class DropdownEntitySelect extends CoreComponent implements ng.OnChanges {
_elementRef: ng.ElementRef;
/**
* An array of strings containing the entries to display in the dropdown
* list.
*/
entries: string[];
/**
* An array of strings containing the entries that are currently selected
* in the dropdown list.
*
* The entries stored in this array are also available on the
* "this.entries" field.
*/
selectedEntries: string[];
/**
* EventEmitter that sends an event whenever the user changes the selected
* items of the dropdown list. The payload is an array of strings
* containing the entries that are currently selected in the dropdown
* list.
*/
selectedEntriesChange: ng.EventEmitter;
/**
* The label of the title to display in the dropdown list.
*
* This label is a string that tells the user how many entries are
* currently selected in the dropdown list.
*
* As a special case when there are no entries selected in the dropdown
* list, then shoud be considered as if all of the entries where selected.
*/
titleValue: string;
/**
* Creates a dropdownEntitySelect instance.
*
* @param _elementRef The elementRef of the component
*/
constructor(_elementRef: ng.ElementRef);
/**
* Update the title label of the dropdown component that is shown
* on this component.
*
* @returns Nothing.
*/
private updateTitleLabel;
/**
* Angular on Changes method.
*/
ngOnChanges(changes: ng.SimpleChanges): void;
/**
* Callback used when the user changes the contents of the dropdown
* shown on the template.
*
* @param args Event sent from the Dropdown component.
*
* @returns Nothing.
*/
onItemSelect(args: any): void;
}
export declare class DropdownEntitySelectModule {
}