import { OnChanges, EventEmitter } from "@angular/core";
import { starRatingSizes, starRatingSpeed, starRatingColors, starRatingPosition, starRatingStarSpace, starRatingStarTypes, IStarRatingOnClickEvent, IStarRatingOnRatingChangeEven } from "./star-rating-struct";
export declare class StarRatingComponent implements OnChanges {
    /**
     * _getStarsArray
     *
     * returns an array of increasing numbers starting at 1
     *
     * @param numOfStars
     * @returns {Array}
     */
    static _getStarsArray(numOfStars: number): Array<number>;
    /**
     * _getHalfStarVisible
     *
     * Returns true if there should be a half star visible, and false if not.
     *
     * @param rating
     * @returns {boolean}
     */
    static _getHalfStarVisible(rating: number): boolean;
    /**
     * _getColor
     *
     * The default function for color calculation
     * based on the current rating and the the number of stars possible.
     * If a staticColor is set the function will use it as return value.
     *
     * @param rating
     * @param numOfStars
     * @param staticColor
     * @returns {starRatingColors}
     */
    static _getColor(rating: number, numOfStars: number, staticColor?: starRatingColors): starRatingColors;
    protected config: any;
    /**
     * id property to identify the DOM element
     */
    protected _id: string;
    id: string;
    /**
     * labelText
     */
    protected _labelText: string;
    labelText: string;
    /**
     * labelPosition
     */
    protected _labelPosition: starRatingPosition;
    labelPosition: starRatingPosition;
    /**
     * staticColor
     */
    protected _staticColor: starRatingColors;
    staticColor: starRatingColors;
    /**
     * numOfStars
     */
    protected _numOfStars: number;
    numOfStars: number;
    /**
     * speed
     */
    protected _speed: starRatingSpeed;
    speed: starRatingSpeed;
    /**
     * size
     */
    protected _size: starRatingSizes;
    size: starRatingSizes;
    /**
     * starType
     */
    protected _starType: starRatingStarTypes;
    starType: starRatingStarTypes;
    /**
     * space
     */
    protected _space: starRatingStarSpace;
    space: starRatingStarSpace;
    /**
     * readOnly
     */
    protected _readOnly: boolean;
    readOnly: boolean;
    /**
     * disabled
     */
    protected _disabled: boolean;
    disabled: boolean;
    /**
     * rating
     */
    protected _rating: number;
    rating: number;
    /**
     * showHalfStars
     */
    protected _showHalfStars: boolean;
    showHalfStars: boolean;
    /**
     * getColor
     */
    getColor: (rating: number, numOfStars: number, staticColor?: starRatingColors) => starRatingColors;
    /**
     * getHalfStarVisible
     */
    getHalfStarVisible: (rating: number) => boolean;
    onClick: EventEmitter<IStarRatingOnClickEvent>;
    onRatingChange: EventEmitter<IStarRatingOnRatingChangeEven>;
    classEmpty: string;
    classHalf: string;
    classFilled: string;
    pathEmpty: string;
    pathHalf: string;
    pathFilled: string;
    color: starRatingColors;
    stars: Array<number>;
    ratingAsInteger: number;
    halfStarVisible: boolean;
    constructor();
    svgVisible(): boolean;
    setColor(): void;
    setHalfStarVisible(): void;
    /**
     * onStarClicked
     *
     * Is fired when a star is clicked. And updated the rating value.
     * This function returns if the disabled or readOnly
     * property is set. If provided it emits the onClick event
     * handler with the actual rating value.
     *
     * @param rating
     */
    protected onStarClicked(rating: number): void;
    ngOnChanges(changes: any): void;
}
