import { EventEmitter, OnChanges, OnInit, SimpleChanges } from "@angular/core";
import { ControlValueAccessor, FormControl, FormGroup } from "@angular/forms";
import { Subscription } from "rxjs";
import { TKwikUIStarRatingSize } from "./star-rating.definitions";
import * as i0 from "@angular/core";
export declare class KwikUIStarRatingComponent implements OnInit, OnChanges, ControlValueAccessor {
    color: string;
    disabled: boolean;
    focus: boolean;
    formControl: FormControl;
    formControlName: string;
    icon: string;
    iconMarked: string;
    id: string;
    invalid: boolean;
    label: string;
    max: number;
    min: number;
    placeholder: string;
    properties: {
        readOnly: boolean;
    };
    size: TKwikUIStarRatingSize;
    validators: {
        required: boolean;
    };
    getKeyValue: EventEmitter<any>;
    formGroup: FormGroup;
    subscriptions: Subscription;
    constructor();
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    private validateInputProperty;
    /**
     * @description Handles setting up of error and focus on the input field is it is invalid
     */
    setDisabled(): void;
    /**
     * @description Handles setting up of error and focus on the input field is it is invalid
     */
    setError(): void;
    /**
     * @description Handles firing of 2 events on (keyup) event
     *
     * @param value
     */
    handleValueChange(value: any): void;
    handleFocusedChange(e: any): void;
    emitEvent(event: any, data: any): void;
    /** Method Implementations for Abstract Control */
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<KwikUIStarRatingComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KwikUIStarRatingComponent, "kwikui-star-rating", never, { "color": "color"; "disabled": "disabled"; "focus": "focus"; "formControl": "formControl"; "formControlName": "formControlName"; "icon": "icon"; "iconMarked": "iconMarked"; "id": "id"; "invalid": "invalid"; "label": "label"; "max": "max"; "min": "min"; "placeholder": "placeholder"; "properties": "properties"; "size": "size"; "validators": "validators"; }, { "getKeyValue": "getKeyValue"; }, never, never>;
}
