import { CSSProperties, ExtractPropTypes, PropType, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { PresetStatusColorType } from '../_util/colors';
import { CustomSlotsType, LiteralUnion, VueNode } from '../_util/type';
import { PresetColorKey } from '../theme/interface';
import { VueTypeValidableDef } from 'vue-types';
export declare function badgeProps(): {
    /** Number to show in badge */
    count: VueTypeValidableDef<any> & {
        default: any;
    };
    showZero: {
        type: BooleanConstructor;
        default: undefined;
    };
    /** Max count to show */
    overflowCount: {
        type: NumberConstructor;
        default: number;
    };
    /** whether to show red dot without number */
    dot: {
        type: BooleanConstructor;
        default: undefined;
    };
    prefixCls: StringConstructor;
    scrollNumberPrefixCls: StringConstructor;
    status: {
        type: PropType<PresetStatusColorType>;
    };
    size: {
        type: PropType<"default" | "small">;
        default: string;
    };
    color: PropType<LiteralUnion<PresetColorKey>>;
    text: VueTypeValidableDef<any>;
    offset: PropType<[number | string, number | string]>;
    numberStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    title: StringConstructor;
};
export type BadgeProps = Partial<ExtractPropTypes<ReturnType<typeof badgeProps>>>;
declare const _default: DefineComponent<ExtractPropTypes<{
    /** Number to show in badge */
    count: VueTypeValidableDef<any> & {
        default: any;
    };
    showZero: {
        type: BooleanConstructor;
        default: undefined;
    };
    /** Max count to show */
    overflowCount: {
        type: NumberConstructor;
        default: number;
    };
    /** whether to show red dot without number */
    dot: {
        type: BooleanConstructor;
        default: undefined;
    };
    prefixCls: StringConstructor;
    scrollNumberPrefixCls: StringConstructor;
    status: {
        type: PropType<PresetStatusColorType>;
    };
    size: {
        type: PropType<"default" | "small">;
        default: string;
    };
    color: PropType<LiteralUnion<PresetColorKey>>;
    text: VueTypeValidableDef<any>;
    offset: PropType<[number | string, number | string]>;
    numberStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    title: StringConstructor;
}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    /** Number to show in badge */
    count: VueTypeValidableDef<any> & {
        default: any;
    };
    showZero: {
        type: BooleanConstructor;
        default: undefined;
    };
    /** Max count to show */
    overflowCount: {
        type: NumberConstructor;
        default: number;
    };
    /** whether to show red dot without number */
    dot: {
        type: BooleanConstructor;
        default: undefined;
    };
    prefixCls: StringConstructor;
    scrollNumberPrefixCls: StringConstructor;
    status: {
        type: PropType<PresetStatusColorType>;
    };
    size: {
        type: PropType<"default" | "small">;
        default: string;
    };
    color: PropType<LiteralUnion<PresetColorKey>>;
    text: VueTypeValidableDef<any>;
    offset: PropType<[number | string, number | string]>;
    numberStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    title: StringConstructor;
}>> & Readonly<{}>, {
    size: "small" | "default";
    dot: boolean;
    count: any;
    showZero: boolean;
    overflowCount: number;
    numberStyle: CSSProperties;
}, CustomSlotsType<{
    text: any;
    count: any;
    default: any;
}>, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
