/**
 * @license chowa v1.1.3
 *
 * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
import * as React from 'react';
import * as PropTypes from 'prop-types';
export interface RateProps {
    className?: string;
    style?: React.CSSProperties;
    tabIndex?: number;
    defaultValue?: number;
    value?: number;
    count?: number;
    disabled?: boolean;
    allowHalf?: boolean;
    character?: React.ReactNode;
    onChange?: (result: number) => void;
    showValue?: boolean;
    valueUnit?: React.ReactNode;
    activeColor?: string;
}
export interface RateState {
    result: number;
    hoverValue: number;
}
declare class Rate extends React.PureComponent<RateProps, RateState> {
    static propTypes: {
        className: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<object>;
        tabIndex: PropTypes.Requireable<number>;
        defaultValue: PropTypes.Requireable<number>;
        value: PropTypes.Requireable<number>;
        count: PropTypes.Requireable<number>;
        disabled: PropTypes.Requireable<boolean>;
        allowHalf: PropTypes.Requireable<boolean>;
        character: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        showValue: PropTypes.Requireable<boolean>;
        valueUnit: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        activeColor: PropTypes.Requireable<string>;
    };
    static defaultProps: {
        tabIndex: number;
        count: number;
        disabled: boolean;
        allowHalf: boolean;
        showValue: boolean;
    };
    constructor(props: RateProps);
    componentDidUpdate(preProps: RateProps): void;
    private onItemClickHandler;
    private onItemHoverHandler;
    private onItemOutHandler;
    private onItemKeyDownHandler;
    private renderItem;
    render(): JSX.Element;
}
export default Rate;
