import { type PropType } from 'vue';
export type ThousandsGroupStyle = 'thousand' | 'lakh' | 'wan' | 'none';
export interface NumberFormatterOptions {
    allowNegative?: boolean;
    decimalScale?: number;
    decimalSeparator?: string;
    fixedDecimalScale?: boolean;
    prefix?: string;
    suffix?: string;
    thousandsGroupStyle?: ThousandsGroupStyle;
    thousandSeparator?: string | boolean;
}
export declare function formatNumber(value: number | string | bigint, options?: NumberFormatterOptions): string;
export declare const NumberFormatter: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    value: {
        type: PropType<string | number | bigint | undefined>;
        default: undefined;
    };
    allowNegative: {
        type: BooleanConstructor;
        default: boolean;
    };
    decimalScale: {
        type: NumberConstructor;
        default: undefined;
    };
    decimalSeparator: {
        type: StringConstructor;
        default: string;
    };
    fixedDecimalScale: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefix: {
        type: StringConstructor;
        default: undefined;
    };
    suffix: {
        type: StringConstructor;
        default: undefined;
    };
    thousandsGroupStyle: {
        type: PropType<ThousandsGroupStyle>;
        default: string;
    };
    thousandSeparator: {
        type: PropType<string | boolean>;
        default: undefined;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    value: {
        type: PropType<string | number | bigint | undefined>;
        default: undefined;
    };
    allowNegative: {
        type: BooleanConstructor;
        default: boolean;
    };
    decimalScale: {
        type: NumberConstructor;
        default: undefined;
    };
    decimalSeparator: {
        type: StringConstructor;
        default: string;
    };
    fixedDecimalScale: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefix: {
        type: StringConstructor;
        default: undefined;
    };
    suffix: {
        type: StringConstructor;
        default: undefined;
    };
    thousandsGroupStyle: {
        type: PropType<ThousandsGroupStyle>;
        default: string;
    };
    thousandSeparator: {
        type: PropType<string | boolean>;
        default: undefined;
    };
}>> & Readonly<{}>, {
    value: string | number | bigint | undefined;
    decimalScale: number;
    fixedDecimalScale: boolean;
    prefix: string;
    suffix: string;
    decimalSeparator: string;
    thousandSeparator: string | boolean;
    allowNegative: boolean;
    thousandsGroupStyle: ThousandsGroupStyle;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
