import * as i0 from '@angular/core';
import { WritableSignal } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { ThemePalette } from '@angular/material/core';

interface GuajiritosRatingConfig {
    stars: number;
    color?: ThemePalette;
    size?: string;
    label?: string;
    readOnly?: boolean;
    showNumber?: boolean;
    showClearBtn?: boolean;
}
declare class GuajiritosRating implements ControlValueAccessor {
    rating: WritableSignal<number>;
    _config: WritableSignal<GuajiritosRatingConfig>;
    arrayFill: WritableSignal<number[]>;
    set value(value: number);
    set config(value: Partial<GuajiritosRatingConfig>);
    private processConfig;
    propagateChange: (fn: any) => void;
    registerOnChange(fn: (_: any) => void): void;
    registerOnTouched(): void;
    writeValue(value: any): void;
    onMark(item: number): void;
    onClear(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<GuajiritosRating, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GuajiritosRating, "guajiritos-rating", never, { "value": { "alias": "value"; "required": false; }; "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
}

export { GuajiritosRating };
export type { GuajiritosRatingConfig };
