import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { ThemePalette } from '@angular/material/core';
export declare const NGX_MATERIAL_RATING_VALUE_ACCESSOR: any;
export interface NgxMaterialRatingChange {
    source: NgxMaterialRatingComponent;
    value: number | null;
}
declare type Stars = 'star' | 'star_border';
export declare class NgxMaterialRatingComponent implements ControlValueAccessor {
    private _changeDetectorRef;
    color: ThemePalette;
    get max(): number;
    set max(v: number);
    private _max;
    get value(): number | null;
    set value(v: number | null);
    private _value;
    private _roundToDecimal;
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    get dense(): boolean;
    set dense(value: boolean);
    private _dense;
    get readonly(): boolean;
    set readonly(value: boolean);
    private _readonly;
    readonly change: EventEmitter<NgxMaterialRatingChange>;
    readonly valueChange: EventEmitter<number | null>;
    onTouched: () => any;
    private _cvaChangeFn;
    constructor(_changeDetectorRef: ChangeDetectorRef);
    writeValue(value: any): void;
    registerOnChange(fn: (value: any) => void): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    onClick(index: number): void;
    getStar(index: number): Stars;
    private _emitChangeEvent;
}
export {};
