import type { ExtractPropTypes, PropType } from 'vue'; import type { ComponentSize, IconSlotType } from '../../../types'; export declare const Props: { /** * @description binding value */ readonly modelValue: { readonly type: NumberConstructor; readonly default: 0; }; /** * @description native `id` attribute */ readonly id: { readonly type: StringConstructor; readonly default: undefined; }; /** * @description threshold value between low and medium level. The value itself will be included in low level */ readonly lowThreshold: { readonly type: NumberConstructor; readonly default: 2; }; /** * @description threshold value between medium and high level. The value itself will be included in high level */ readonly highThreshold: { readonly type: NumberConstructor; readonly default: 4; }; /** * @description max rating score */ readonly max: { readonly type: NumberConstructor; readonly default: 5; }; /** * @description colors for icons. If array, it should have 3 elements, each of which corresponds with a score level, else if object, the key should be threshold value between two levels, and the value should be corresponding color */ readonly colors: { readonly type: PropType>; readonly default: () => string[]; }; /** * @description color of unselected icons */ readonly voidColor: { readonly type: StringConstructor; readonly default: ""; }; /** * @description color of unselected read-only icons */ readonly disabledVoidColor: { readonly type: StringConstructor; readonly default: ""; }; /** * @description icon components. If array, it should have 3 elements, each of which corresponds with a score level, else if object, the key should be threshold value between two levels, and the value should be corresponding icon component */ readonly icons: { readonly type: PropType<(string | IconSlotType)[] | Record>; readonly default: () => any[]; }; /** * @description component of unselected icons */ readonly voidIcon: { readonly type: PropType; readonly default: () => any; }; /** * @description component of unselected read-only icons */ readonly disabledVoidIcon: { readonly type: PropType; readonly default: () => any; }; /** * @description whether Rate is read-only */ readonly disabled: BooleanConstructor; /** * @description whether picking half start is allowed */ readonly allowHalf: BooleanConstructor; /** * @description whether to display texts */ readonly showText: BooleanConstructor; /** * @description whether to display current score. show-score and show-text cannot be true at the same time */ readonly showScore: BooleanConstructor; /** * @description color of texts */ readonly textColor: { readonly type: StringConstructor; readonly default: ""; }; /** * @description text array */ readonly texts: { readonly type: PropType; readonly default: () => string[]; }; /** * @description score template */ readonly scoreTemplate: { readonly type: StringConstructor; readonly default: "{value}"; }; /** * @description size of Rate */ readonly size: { readonly type: PropType; readonly default: ""; }; /** * @description same as `aria-label` in Rate */ readonly label: { readonly type: StringConstructor; readonly default: undefined; }; /** * @description whether value can be reset to `0` */ readonly clearable: { readonly type: BooleanConstructor; readonly default: false; }; }; export declare const Emits: { change: (value: number) => boolean; "update:modelValue": (value: number) => boolean; }; export type RateProps = ExtractPropTypes;