type RatingIconValue = string | { type: 'emoji' | 'url' | 'file' | 'class' | 'builtin'; value: string; status?: 'normal' | 'loading' | 'error'; colorful?: boolean; error?: string; }; interface Props { modelValue?: number; maxStars?: number; precision?: number | 0.5; disabled?: boolean; readonly?: boolean; showText?: boolean; icon?: RatingIconValue; filledIcon?: RatingIconValue; emptyIcon?: RatingIconValue; halfIcon?: RatingIconValue; filledColor?: string; emptyColor?: string; hoverColor?: string; textColor?: string; size?: number | string; gap?: number | string; animated?: boolean; /** Localizable accessible label for each star button; defaults to English "Rate N star(s)". */ starLabel?: (star: number) => string; } declare function __VLS_template(): { attrs: Partial<{}>; slots: { text?(_: { value: number; max: number; }): any; }; refs: { starsRef: HTMLDivElement; }; rootEl: HTMLDivElement; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent any; "update:modelValue": (value: number) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ onChange?: ((value: number) => any) | undefined; "onUpdate:modelValue"?: ((value: number) => any) | undefined; }>, { icon: RatingIconValue; disabled: boolean; size: number | string; modelValue: number; gap: number | string; textColor: string; readonly: boolean; animated: boolean; precision: number | 0.5; showText: boolean; maxStars: number; filledIcon: RatingIconValue; emptyIcon: RatingIconValue; halfIcon: RatingIconValue; filledColor: string; emptyColor: string; hoverColor: string; starLabel: (star: number) => string; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { starsRef: HTMLDivElement; }, HTMLDivElement>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };