import { ExtractPropTypes, PropType, CreateComponentPublicInstanceWithMixins, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, ComponentOptionsBase, VNodeProps, AllowedComponentProps, ComponentCustomProps, Plugin } from 'vue';
import { FocusEventHandler, KeyboardEventHandler } from '../_util/EventInterface';
import { Direction } from '../config-provider';
import { VueTypeValidableDef, VueTypeDef } from 'vue-types';
import { VueNode } from '../_util/type';
export declare const rateProps: () => {
    prefixCls: StringConstructor;
    count: NumberConstructor;
    value: NumberConstructor;
    allowHalf: {
        type: BooleanConstructor;
        default: undefined;
    };
    allowClear: {
        type: BooleanConstructor;
        default: undefined;
    };
    tooltips: PropType<string[]>;
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    character: VueTypeValidableDef<any>;
    autofocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    tabindex: VueTypeDef<string | number>;
    direction: PropType<Direction>;
    id: StringConstructor;
    onChange: PropType<(value: number) => void>;
    onHoverChange: PropType<(value: number) => void>;
    'onUpdate:value': PropType<(value: number) => void>;
    onFocus: PropType<FocusEventHandler>;
    onBlur: PropType<FocusEventHandler>;
    onKeydown: PropType<KeyboardEventHandler>;
};
export type RateProps = Partial<ExtractPropTypes<ReturnType<typeof rateProps>>>;
declare const _default: {
    new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<ExtractPropTypes<{
        prefixCls: StringConstructor;
        count: NumberConstructor;
        value: NumberConstructor;
        allowHalf: {
            type: BooleanConstructor;
            default: undefined;
        };
        allowClear: {
            type: BooleanConstructor;
            default: undefined;
        };
        tooltips: PropType<string[]>;
        disabled: {
            type: BooleanConstructor;
            default: undefined;
        };
        character: VueTypeValidableDef<any>;
        autofocus: {
            type: BooleanConstructor;
            default: undefined;
        };
        tabindex: VueTypeDef<string | number>;
        direction: PropType<Direction>;
        id: StringConstructor;
        onChange: PropType<(value: number) => void>;
        onHoverChange: PropType<(value: number) => void>;
        'onUpdate:value': PropType<(value: number) => void>;
        onFocus: PropType<FocusEventHandler>;
        onBlur: PropType<FocusEventHandler>;
        onKeydown: PropType<KeyboardEventHandler>;
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        disabled: boolean;
        autofocus: boolean;
        allowClear: boolean;
        allowHalf: boolean;
    }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<ExtractPropTypes<{
        prefixCls: StringConstructor;
        count: NumberConstructor;
        value: NumberConstructor;
        allowHalf: {
            type: BooleanConstructor;
            default: undefined;
        };
        allowClear: {
            type: BooleanConstructor;
            default: undefined;
        };
        tooltips: PropType<string[]>;
        disabled: {
            type: BooleanConstructor;
            default: undefined;
        };
        character: VueTypeValidableDef<any>;
        autofocus: {
            type: BooleanConstructor;
            default: undefined;
        };
        tabindex: VueTypeDef<string | number>;
        direction: PropType<Direction>;
        id: StringConstructor;
        onChange: PropType<(value: number) => void>;
        onHoverChange: PropType<(value: number) => void>;
        'onUpdate:value': PropType<(value: number) => void>;
        onFocus: PropType<FocusEventHandler>;
        onBlur: PropType<FocusEventHandler>;
        onKeydown: PropType<KeyboardEventHandler>;
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
        disabled: boolean;
        autofocus: boolean;
        allowClear: boolean;
        allowHalf: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & ComponentOptionsBase<Readonly<ExtractPropTypes<{
    prefixCls: StringConstructor;
    count: NumberConstructor;
    value: NumberConstructor;
    allowHalf: {
        type: BooleanConstructor;
        default: undefined;
    };
    allowClear: {
        type: BooleanConstructor;
        default: undefined;
    };
    tooltips: PropType<string[]>;
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    character: VueTypeValidableDef<any>;
    autofocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    tabindex: VueTypeDef<string | number>;
    direction: PropType<Direction>;
    id: StringConstructor;
    onChange: PropType<(value: number) => void>;
    onHoverChange: PropType<(value: number) => void>;
    'onUpdate:value': PropType<(value: number) => void>;
    onFocus: PropType<FocusEventHandler>;
    onBlur: PropType<FocusEventHandler>;
    onKeydown: PropType<KeyboardEventHandler>;
}>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {
    disabled: boolean;
    autofocus: boolean;
    allowClear: boolean;
    allowHalf: boolean;
}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & Plugin;
export default _default;
