import { ElementRef, OnInit } from '@angular/core';
import { CfCoreComponent } from '../core/core.component';
import { IconStylingModel } from '../../models/icon/icon-styling.model';
import { RatingModel } from '../../models/rating/rating.model';
import { RatingStylingModel } from '../../models/rating/rating-styling.model';
import { TemplateService } from '../../services/template-service/template.service';
/**
 * <p>Rating component which has vertical/horizontal icons, icon order changing and other basic functionality.</p>
 * <p>Example of using Menu:</p>
 * <pre>
 * <code><</code>cf-rating [properties]="myRating" [styling]="myRatingStyles"<code>></code><code><</code><code>/</code>cf-rating<code>></code>
 * </pre>
 */
export declare class CfRatingComponent extends CfCoreComponent implements OnInit {
    elementRef: ElementRef;
    /**
     * It is an RatingModel object with options to be rendered into component template
     */
    cfRating: RatingModel;
    /**
     * It is an array to be filled with items according to MAX property
     */
    cfItems: number[];
    iconStyling: IconStylingModel;
    /**
     * It is an attribute <b>[properties]</b> of directive <b>cf-rating</b> which take RatingModel object.
     * <p>Example of Rating json object:</p>
     * <pre>{
     *  label: 'Rating label',
     *  icon: 'stars',
     *  value: 1,
     *  max: 5,
     *  countFromEnd: false,
     *  iconsVertical: false
     *  disable: false
     * }</pre>
     * <h4>label: string</h4>
     * Label for component
     * <h4>icon: string</h4>
     * Name of icon
     * <h4>value: number</h4>
     * Value of rating and means number of filled/selected icons
     * <h4>max: number</h4>
     * Number of rating icons
     * <h4>countFromEnd: boolean</h4>
     * Means to start icons counting order
     * <h4>iconsVertical: boolean</h4>
     * Means to show icons vertically
     * <h4>disable: boolean</h4>
     * Means component to be disabled
     */
    properties: RatingModel;
    /**
     * It is an object with styling component elements RatingStylingModel object
     */
    styling: RatingStylingModel;
    /**@hidden
     *
     */
    constructor(elementRef: ElementRef, /**@hidden */ templateService: TemplateService);
    /**
     * Initialize all data
     */
    ngOnInit(): void;
    /**
     * Function to set component value
     * @param index  it is used to calculate component value
     */
    private setRating(index);
    /**
     * Function to unselect current item by user double-click and change component value
     * @param index  it is used to calculate component value
     */
    private resetCurrentItem(index);
    /**
     * Function to set filled color for icons
     */
    private getHighlitedColor();
    /**
     * Function to set empty color for icons
     */
    private getEmptyColor();
}
