/// <reference types="node" />
import React from 'react';
import type { RatingProps } from '@alifd/next/types/rating';
declare const _default: React.ForwardRefExoticComponent<RatingProps & React.RefAttributes<unknown>> & import("hoist-non-react-statics").NonReactStatics<import("@alifd/next/types/config-provider/types").ConfiguredComponentClass<RatingProps & import("@alifd/next/types/config-provider/types").ComponentCommonProps, {
    [key: `refs-rating-icon-${number}`]: HTMLSpanElement;
    timer: NodeJS.Timeout;
    underlayNode: HTMLDivElement;
    readonly props: import("@alifd/next/types/util").ClassPropsWithDefault<RatingProps, {
        prefix: string;
        size: string;
        disabled: boolean;
        readOnly: boolean;
        isPreview: boolean;
        count: number;
        showGrade: boolean;
        defaultValue: number;
        readAs: (val: number) => number;
        allowHalf: boolean;
        allowClear: boolean;
        onChange: () => void;
        onHoverChange: () => void;
        locale: Partial<{
            description: string;
        }> & {
            momentLocale?: string;
        };
    }>;
    componentDidMount(): void;
    componentWillUnmount(): void;
    clearTimer(): void;
    getRenderResult(): void;
    getValue(e: React.MouseEvent<Element, MouseEvent>): number;
    handleHover(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
    handleLeave(): void;
    onKeyDown(e: React.KeyboardEvent<HTMLDivElement>): true | void;
    handleChecked(index: number): void;
    handleClick(e: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
    getOverlayWidth(): number | "auto";
    getInfoLeft(): number;
    saveRef: (ref: HTMLSpanElement, i: number) => void;
    render(): React.JSX.Element;
    context: any;
    setState<K extends keyof import("@alifd/next/types/rating/types").RatingState>(state: import("@alifd/next/types/rating/types").RatingState | ((prevState: Readonly<import("@alifd/next/types/rating/types").RatingState>, props: Readonly<RatingProps>) => import("@alifd/next/types/rating/types").RatingState | Pick<import("@alifd/next/types/rating/types").RatingState, K>) | Pick<import("@alifd/next/types/rating/types").RatingState, K>, callback?: () => void): void;
    forceUpdate(callback?: () => void): void;
    state: Readonly<import("@alifd/next/types/rating/types").RatingState>;
    refs: {
        [key: string]: React.ReactInstance;
    };
    shouldComponentUpdate?(nextProps: Readonly<RatingProps>, nextState: Readonly<import("@alifd/next/types/rating/types").RatingState>, nextContext: any): boolean;
    componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
    getSnapshotBeforeUpdate?(prevProps: Readonly<RatingProps>, prevState: Readonly<import("@alifd/next/types/rating/types").RatingState>): any;
    componentDidUpdate?(prevProps: Readonly<RatingProps>, prevState: Readonly<import("@alifd/next/types/rating/types").RatingState>, snapshot?: any): void;
    componentWillMount?(): void;
    UNSAFE_componentWillMount?(): void;
    componentWillReceiveProps?(nextProps: Readonly<RatingProps>, nextContext: any): void;
    UNSAFE_componentWillReceiveProps?(nextProps: Readonly<RatingProps>, nextContext: any): void;
    componentWillUpdate?(nextProps: Readonly<RatingProps>, nextState: Readonly<import("@alifd/next/types/rating/types").RatingState>, nextContext: any): void;
    UNSAFE_componentWillUpdate?(nextProps: Readonly<RatingProps>, nextState: Readonly<import("@alifd/next/types/rating/types").RatingState>, nextContext: any): void;
}, {}> & {
    currentValue: (min: number, max: number, hoverValue: number, stateValue: number) => number;
}, {}>;
export default _default;
export type { RatingProps };
