import React from 'react';
import { NormalTypes } from '../utils/prop-types';
export type RatingTypes = NormalTypes;
declare const ratingCountTuple: [2, 3, 4, 5, 6, 7, 8, 9, 10];
declare const ratingValueTuple: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
export type RatingValue = typeof ratingValueTuple[number];
export type RatingCount = typeof ratingCountTuple[number];
interface Props {
    type?: RatingTypes;
    className?: string;
    icon?: JSX.Element;
    count?: RatingCount | number;
    value?: RatingValue | number;
    initialValue?: RatingValue;
    onValueChange?: (value: number) => void;
    locked?: boolean;
    onLockedChange?: (locked: boolean) => void;
}
type NativeAttrs = Omit<React.HTMLAttributes<any>, keyof Props>;
export type RatingProps = Props & NativeAttrs;
declare const Rating: React.ForwardRefExoticComponent<Props & NativeAttrs & {
    width?: string | number;
    height?: string | number;
    padding?: string | number;
    margin?: string | number;
    w?: string | number;
    h?: string | number;
    paddingLeft?: string | number;
    paddingRight?: string | number;
    paddingTop?: string | number;
    paddingBottom?: string | number;
    pl?: string | number;
    pr?: string | number;
    pt?: string | number;
    pb?: string | number;
    marginLeft?: string | number;
    marginRight?: string | number;
    marginTop?: string | number;
    marginBottom?: string | number;
    ml?: string | number;
    mr?: string | number;
    mt?: string | number;
    mb?: string | number;
    px?: string | number;
    py?: string | number;
    mx?: string | number;
    my?: string | number;
    font?: string | number;
    unit?: string;
    scale?: number;
    children?: any;
    className?: string;
} & React.InputHTMLAttributes<any> & React.RefAttributes<unknown>>;
export default Rating;
