import { Moment } from 'moment';
import { BigNumber } from 'bignumber.js';
import { TimeStep } from '../interface';
import Field from '../data-set/Field';
import { FieldType } from '../data-set/enum';
import Record from '../data-set/Record';
import { Config, ConfigKeys, DefaultConfig } from '../configure';
export declare const MAX_SAFE_INTEGER: number;
export declare const MIN_SAFE_INTEGER: number;
export declare function warning(valid: boolean, message: string): void;
export declare function isEmpty(value: any, allowBlank?: boolean): boolean;
export declare function isSame(newValue: any, oldValue: any): boolean;
export declare function isSameLike(newValue: any, oldValue: any): boolean;
export declare function parseNumber(value: any, precision?: number): number;
export declare function parseBigNumber(value: any, precision?: number, defaultValue?: string | null): string | undefined | null;
export declare function getPrecision(value: number): number;
export declare function isValidBigNumber(bigNumber?: BigNumber): boolean;
export declare function bigNumberToFixed(bigNumber?: BigNumber, precision?: number, defaultValue?: string | null): string | undefined | null;
export declare function plus(...values: number[]): any;
export declare function getNearStepValues<T extends Moment | number | string>(value: T, step: number | TimeStep | string, min?: number | Moment | string | null, max?: number | Moment | string | null, isBigNumber?: boolean): T[] | undefined;
export declare function getGlobalConfig<T extends ConfigKeys>(key: T, field?: Field): T extends keyof DefaultConfig ? DefaultConfig[T] : Config[T];
export declare function getDateFormatByFieldType(type: FieldType, field?: Field): string;
export declare function getDateFormatByField(field?: Field, type?: FieldType, record?: Record): string;
export declare function toLocaleStringSupportsLocales(): any;
export declare function getNumberFormatOptions(type: FieldType, options?: Intl.NumberFormatOptions): Intl.NumberFormatOptions;
export declare function toLocaleStringPolyfill(value: number, type: FieldType, options?: Intl.NumberFormatOptions): string;
export declare function toRangeValue(value: any, range?: boolean | [string, string]): [any, any];
export declare function normalizeLanguage(language?: string): string | undefined;
declare const _default: {
    MAX_SAFE_INTEGER: number;
    MIN_SAFE_INTEGER: number;
    warning: typeof warning;
    isEmpty: typeof isEmpty;
    isSame: typeof isSame;
    isSameLike: typeof isSameLike;
    parseNumber: typeof parseNumber;
    getPrecision: typeof getPrecision;
    plus: typeof plus;
    getNearStepValues: typeof getNearStepValues;
    getDateFormatByFieldType: typeof getDateFormatByFieldType;
    getDateFormatByField: typeof getDateFormatByField;
    toLocaleStringSupportsLocales: typeof toLocaleStringSupportsLocales;
    getNumberFormatOptions: typeof getNumberFormatOptions;
    toLocaleStringPolyfill: typeof toLocaleStringPolyfill;
    toRangeValue: typeof toRangeValue;
    normalizeLanguage: typeof normalizeLanguage;
    isValidBigNumber: typeof isValidBigNumber;
    bigNumberToFixed: typeof bigNumberToFixed;
    parseBigNumber: typeof parseBigNumber;
};
export default _default;
