import type { RendererNode, RendererElement, ComputedOptions, MethodOptions, PropType,  ExtractPropTypes,  VNode,  Component } from 'vue';
import type { RateChangeInterface } from './interface';
export declare const Props: {
    readonly modelValue: {
        readonly type: NumberConstructor;
        readonly default: () => number;
        readonly validator: (val: number) => boolean;
    };
    readonly max: {
        readonly type: NumberConstructor;
        readonly default: () => number;
        readonly validator: (val: number) => boolean;
    };
    readonly effectColor: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly invalidColor: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly readonly: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly icon: {
        readonly type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>>;
        readonly default: () => null;
    };
    readonly size: {
        readonly type: PropType<string | number>;
        readonly default: () => string;
    };
    readonly textShow: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly textColor: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly textArr: {
        readonly type: PropType<string[]>;
        readonly default: () => string[];
    };
    readonly textSize: {
        readonly type: PropType<string | number>;
        readonly default: () => string;
    };
    readonly change: {
        readonly type: PropType<RateChangeInterface>;
        readonly default: () => null;
    };
};
export declare const Emits: {
    readonly 'update:modelValue': (val: number) => number;
};
export declare type RatePropsType = ExtractPropTypes<typeof Props>;
