import { Signal, InputSignal, ModelSignal, WritableSignal, OutputEmitterRef, InputSignalWithTransform } from '@angular/core'; import { ControlValueAccessor, Validator, UntypedFormControl } from '@angular/forms'; import { ActiveRating, FractionRating, InactiveRating } from './custom-rating'; import { BarRatingOptions } from './bar-rating.model'; import * as i0 from "@angular/core"; declare enum BarRatingUnitStateEnum { active = "active", inactive = "inactive", selected = "selected", fraction = "fraction" } type BarRatingUnitState = `${BarRatingUnitStateEnum}`; export declare class BarRating implements ControlValueAccessor, Validator { readonly defaultOptions: BarRatingOptions; onChange: OnChangeFn; onTouched: OnTouchedFn; readonly UNITS: typeof BarRatingUnitStateEnum; disabled: boolean; /** Current rating. Can be a decimal value like 3.14 */ rate: ModelSignal; /** Maximal rating that can be given using this widget. */ max: InputSignalWithTransform; /** A flag indicating if rating can be updated. */ readonly: InputSignalWithTransform; /** Set the theme */ theme: InputSignal; /** Show rating title */ showText: InputSignalWithTransform; /** Replace rate value with a title */ titles: InputSignal; /** A flag indicating if rating is required for form validation. */ required: InputSignalWithTransform; tabIndex: InputSignalWithTransform; hoveredIndex: WritableSignal; contexts: Signal; ratingText: Signal; /** * A stream that forwards a bar rating click since clicks are not propagated */ barClick: OutputEmitterRef; customActiveRating: Signal; customInActiveRating: Signal; customFractionRating: Signal; updateRating(value: number): void; /** * This is the initial value set to the component */ writeValue(value: number): void; validate(c: UntypedFormControl): { required: boolean; } | null; registerOnChange(fn: OnChangeFn): void; registerOnTouched(fn: () => OnTouchedFn): void; setDisabledState(isDisabled: boolean): void; handleKeydown(event: KeyboardEvent): void; handleClick(event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } type OnChangeFn = (value: T) => void; type OnTouchedFn = () => void; export {};