import { IconValue } from '../../composables/icons.js'; import type { Prop } from 'vue'; type VRatingItemSlot = { value: number; index: number; isFilled: boolean; isHovered: boolean; icon: IconValue; color?: string; props: Record; rating: number; }; type VRatingItemLabelSlot = { value: number; index: number; label?: string; }; export declare const makeVRatingProps: (defaults?: Defaults | undefined) => { theme: unknown extends Defaults["theme"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; class: unknown extends Defaults["class"] ? import("vue").PropType : { type: import("vue").PropType; default: unknown extends Defaults["class"] ? any : any; }; style: unknown extends Defaults["style"] ? { type: import("vue").PropType; default: null; } : Omit<{ type: import("vue").PropType; default: null; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | NonNullable; }; density: unknown extends Defaults["density"] ? { type: import("vue").PropType; default: string; validator: (v: any) => boolean; } : Omit<{ type: import("vue").PropType; default: string; validator: (v: any) => boolean; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | NonNullable; }; tag: unknown extends Defaults["tag"] ? { type: import("vue").PropType; default: string; } : Omit<{ type: import("vue").PropType; default: string; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : Defaults["tag"] | NonNullable; }; size: unknown extends Defaults["size"] ? { type: (NumberConstructor | StringConstructor)[]; default: string; } : Omit<{ type: (NumberConstructor | StringConstructor)[]; default: string; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["size"] ? string | number : Defaults["size"] | NonNullable; }; name: unknown extends Defaults["name"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["name"] ? string : string | Defaults["name"]; }; itemAriaLabel: unknown extends Defaults["itemAriaLabel"] ? { type: StringConstructor; default: string; } : Omit<{ type: StringConstructor; default: string; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["itemAriaLabel"] ? string : string | Defaults["itemAriaLabel"]; }; activeColor: unknown extends Defaults["activeColor"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["activeColor"] ? string : string | Defaults["activeColor"]; }; color: unknown extends Defaults["color"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["color"] ? string : string | Defaults["color"]; }; clearable: unknown extends Defaults["clearable"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["clearable"] ? boolean : boolean | Defaults["clearable"]; }; disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]; }; emptyIcon: unknown extends Defaults["emptyIcon"] ? { type: import("vue").PropType; default: string; } : Omit<{ type: import("vue").PropType; default: string; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["emptyIcon"] ? IconValue : Defaults["emptyIcon"] | NonNullable; }; fullIcon: unknown extends Defaults["fullIcon"] ? { type: import("vue").PropType; default: string; } : Omit<{ type: import("vue").PropType; default: string; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["fullIcon"] ? IconValue : Defaults["fullIcon"] | NonNullable; }; halfIncrements: unknown extends Defaults["halfIncrements"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["halfIncrements"] ? boolean : boolean | Defaults["halfIncrements"]; }; hover: unknown extends Defaults["hover"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]; }; length: unknown extends Defaults["length"] ? { type: (NumberConstructor | StringConstructor)[]; default: number; } : Omit<{ type: (NumberConstructor | StringConstructor)[]; default: number; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["length"] ? string | number : Defaults["length"] | NonNullable; }; readonly: unknown extends Defaults["readonly"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["readonly"] ? boolean : boolean | Defaults["readonly"]; }; modelValue: unknown extends Defaults["modelValue"] ? { type: (NumberConstructor | StringConstructor)[]; default: number; } : Omit<{ type: (NumberConstructor | StringConstructor)[]; default: number; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["modelValue"] ? string | number : Defaults["modelValue"] | NonNullable; }; itemLabels: unknown extends Defaults["itemLabels"] ? Prop : { type: import("vue").PropType; default: unknown extends Defaults["itemLabels"] ? string[] : string[] | Defaults["itemLabels"]; }; itemLabelPosition: unknown extends Defaults["itemLabelPosition"] ? { type: StringConstructor; default: string; validator: (v: any) => boolean; } : Omit<{ type: StringConstructor; default: string; validator: (v: any) => boolean; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["itemLabelPosition"] ? string : string | Defaults["itemLabelPosition"]; }; ripple: unknown extends Defaults["ripple"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["ripple"] ? boolean : boolean | Defaults["ripple"]; }; }; export declare const VRating: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; size: string | number; itemAriaLabel: string; clearable: boolean; disabled: boolean; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; hover: boolean; length: string | number; readonly: boolean; modelValue: string | number; itemLabelPosition: string; ripple: boolean; } & { theme?: string | undefined; class?: any; name?: string | undefined; activeColor?: string | undefined; color?: string | undefined; itemLabels?: string[] | undefined; } & { $children?: { item?: ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } | { $stable?: boolean; } | {} | import("vue").VNodeChild; 'v-slots'?: { item?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:item"?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; "v-slot:item-label"?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: string | number) => any) | undefined; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 'update:modelValue': (value: number | string) => true; }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { style: import("vue").StyleValue; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; size: string | number; itemAriaLabel: string; clearable: boolean; disabled: boolean; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; hover: boolean; length: string | number; readonly: boolean; modelValue: string | number; itemLabelPosition: string; ripple: boolean; }, true, {}, import("vue").SlotsType import("vue").VNode[]; 'item-label': (arg: VRatingItemLabelSlot) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; size: string | number; itemAriaLabel: string; clearable: boolean; disabled: boolean; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; hover: boolean; length: string | number; readonly: boolean; modelValue: string | number; itemLabelPosition: string; ripple: boolean; } & { theme?: string | undefined; class?: any; name?: string | undefined; activeColor?: string | undefined; color?: string | undefined; itemLabels?: string[] | undefined; } & { $children?: { item?: ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } | { $stable?: boolean; } | {} | import("vue").VNodeChild; 'v-slots'?: { item?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:item"?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; "v-slot:item-label"?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: string | number) => any) | undefined; }, {}, {}, {}, {}, { style: import("vue").StyleValue; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; size: string | number; itemAriaLabel: string; clearable: boolean; disabled: boolean; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; hover: boolean; length: string | number; readonly: boolean; modelValue: string | number; itemLabelPosition: string; ripple: boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; size: string | number; itemAriaLabel: string; clearable: boolean; disabled: boolean; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; hover: boolean; length: string | number; readonly: boolean; modelValue: string | number; itemLabelPosition: string; ripple: boolean; } & { theme?: string | undefined; class?: any; name?: string | undefined; activeColor?: string | undefined; color?: string | undefined; itemLabels?: string[] | undefined; } & { $children?: { item?: ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } | { $stable?: boolean; } | {} | import("vue").VNodeChild; 'v-slots'?: { item?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:item"?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; "v-slot:item-label"?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: string | number) => any) | undefined; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 'update:modelValue': (value: number | string) => true; }, string, { style: import("vue").StyleValue; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; size: string | number; itemAriaLabel: string; clearable: boolean; disabled: boolean; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; hover: boolean; length: string | number; readonly: boolean; modelValue: string | number; itemLabelPosition: string; ripple: boolean; }, {}, string, import("vue").SlotsType import("vue").VNode[]; 'item-label': (arg: VRatingItemLabelSlot) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{ theme: StringConstructor; class: import("vue").PropType; style: { type: import("vue").PropType; default: null; }; density: { type: import("vue").PropType; default: string; validator: (v: any) => boolean; }; tag: { type: import("vue").PropType; default: string; }; size: { type: (NumberConstructor | StringConstructor)[]; default: string; }; name: StringConstructor; itemAriaLabel: { type: StringConstructor; default: string; }; activeColor: StringConstructor; color: StringConstructor; clearable: BooleanConstructor; disabled: BooleanConstructor; emptyIcon: { type: import("vue").PropType; default: string; }; fullIcon: { type: import("vue").PropType; default: string; }; halfIncrements: BooleanConstructor; hover: BooleanConstructor; length: { type: (NumberConstructor | StringConstructor)[]; default: number; }; readonly: BooleanConstructor; modelValue: { type: (NumberConstructor | StringConstructor)[]; default: number; }; itemLabels: Prop; itemLabelPosition: { type: StringConstructor; default: string; validator: (v: any) => boolean; }; ripple: BooleanConstructor; }, import("vue").ExtractPropTypes<{ theme: StringConstructor; class: import("vue").PropType; style: { type: import("vue").PropType; default: null; }; density: { type: import("vue").PropType; default: string; validator: (v: any) => boolean; }; tag: { type: import("vue").PropType; default: string; }; size: { type: (NumberConstructor | StringConstructor)[]; default: string; }; name: StringConstructor; itemAriaLabel: { type: StringConstructor; default: string; }; activeColor: StringConstructor; color: StringConstructor; clearable: BooleanConstructor; disabled: BooleanConstructor; emptyIcon: { type: import("vue").PropType; default: string; }; fullIcon: { type: import("vue").PropType; default: string; }; halfIncrements: BooleanConstructor; hover: BooleanConstructor; length: { type: (NumberConstructor | StringConstructor)[]; default: number; }; readonly: BooleanConstructor; modelValue: { type: (NumberConstructor | StringConstructor)[]; default: number; }; itemLabels: Prop; itemLabelPosition: { type: StringConstructor; default: string; validator: (v: any) => boolean; }; ripple: BooleanConstructor; }>>; export type VRating = InstanceType;