declare const enum SpecialValue {
	NONE = 0,
	NAN = 1,
	POSITIVE_INFINITY = 2,
	NEGATIVE_INFINITY = 3
}
export declare class BigDecimal {
	readonly _mantissa: bigint;
	readonly _exponent: number;
	readonly _special: SpecialValue;
	readonly _negativeZero: boolean;
	constructor(value: number | string | bigint);
	private static _create;
	private static _coerce;
	times(y: BigDecimal | number | string | bigint): BigDecimal;
	div(y: BigDecimal | number | string | bigint): BigDecimal;
	plus(y: BigDecimal | number | string | bigint): BigDecimal;
	minus(y: BigDecimal | number | string | bigint): BigDecimal;
	mod(y: BigDecimal | number | string | bigint): BigDecimal;
	abs(): BigDecimal;
	negated(): BigDecimal;
	pow(n: number): BigDecimal;
	floor(): BigDecimal;
	ceil(): BigDecimal;
	log(base: number): BigDecimal;
	private _log10;
	eq(y: BigDecimal | number | string | bigint): boolean;
	private _compareTo;
	lessThan(y: BigDecimal | number | string | bigint): boolean;
	greaterThan(y: BigDecimal | number | string | bigint): boolean;
	lessThanOrEqualTo(y: BigDecimal | number | string | bigint): boolean;
	greaterThanOrEqualTo(y: BigDecimal | number | string | bigint): boolean;
	isZero(): boolean;
	isNaN(): boolean;
	isFinite(): boolean;
	isNegative(): boolean;
	isPositive(): boolean;
	isInteger(): boolean;
	toJSON(): string;
	toNumber(): number;
	toString(): string;
	static pow(base: number | BigDecimal, exp: number | BigDecimal): BigDecimal;
	static set(_config: Record<string, unknown>): void;
	private _isSignNegative;
	private _specialArith;
}
export { BigDecimal as Decimal };
export default BigDecimal;
