import { ControlValueAccessor } from '@angular/forms';
import { JustifyTypes } from './star-rating-models';
import * as i0 from "@angular/core";
/**
 * @description Componente de avaliação por estrelas com suporte a `ControlValueAccessor`
 * para integração com formulários Angular. Permite configurar o número de estrelas,
 * alinhamento e estado desabilitado. Clicar na estrela já selecionada a deseleciona.
 *
 * @example
 * ```html
 * <s-star-rating [starsRange]="5" formControlName="avaliacao" />
 * ```
 *
 * @category Inputs
 */
export declare class StarRatingComponent implements ControlValueAccessor {
    onChange: (value: number) => void;
    onTouched: (value: number) => void;
    /** @description Índice da estrela atualmente selecionada (1-based). @default 0 */
    selectedStar: import("@angular/core").ModelSignal<number>;
    /** @description Número total de estrelas exibidas. @default 5 */
    starsRange: import("@angular/core").InputSignal<number>;
    /** @description Alinhamento horizontal das estrelas. @default 'center' */
    justifyContent: import("@angular/core").InputSignal<JustifyTypes>;
    /** @description Desabilita a seleção de estrelas. @default false */
    disabled: import("@angular/core").ModelSignal<boolean>;
    protected readonly elementsRender: import("@angular/core").Signal<number[]>;
    writeValue(obj: number): void;
    registerOnChange(fn: (value: number) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    onSelectStar(selectedIndex: number): void;
    private storeValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<StarRatingComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StarRatingComponent, "s-star-rating", never, { "selectedStar": { "alias": "selectedStar"; "required": false; "isSignal": true; }; "starsRange": { "alias": "starsRange"; "required": false; "isSignal": true; }; "justifyContent": { "alias": "justifyContent"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "selectedStar": "selectedStarChange"; "disabled": "disabledChange"; }, never, never, true, never>;
}
