import { ExtractPropTypes } from 'vue';
import { useFormFieldProps } from '../../../composables';
export declare const useRatingProps: {
    modelValue: {
        type: NumberConstructor;
        default: number;
    };
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    hover: {
        type: BooleanConstructor;
        default: boolean;
    };
    stateful: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
};
export declare const useRating: (props: ExtractPropTypes<typeof useRatingProps> & ExtractPropTypes<typeof useFormFieldProps>) => {
    visibleValue: import("vue").ComputedRef<number>;
    modelValue: import("../../../composables").StatefulValue<number>;
    hoveredValue: import("vue").Ref<number>;
    isHovered: import("vue").Ref<boolean>;
    onMouseEnter: () => void;
    onMouseLeave: () => void;
    onItemValueUpdate: (itemIndex: number, newValue: number) => void;
    onItemHoveredValueUpdate: (itemIndex: number, newValue: number) => void;
    getItemValue: (itemIndex: number) => number;
};
