import BigNumber from 'bignumber.js';
export interface ChainValueFormat {
    decimalSeparator: string;
    groupSeparator: string;
    groupSize: number;
    secondaryGroupSize: number;
    fractionGroupSeparator: string;
    fractionGroupSize: number;
    suffix: string;
}
export declare const ChainValueFormats: {
    DotDecimal: ChainValueFormat;
    CommaDecimal: ChainValueFormat;
};
export declare class ChainValue {
    private _big;
    private readonly _decimals;
    constructor(decimals: number);
    static create(decimals: number): ChainValue;
    getDecimals(): number;
    getRaw(): BigNumber;
    getAtomic(): string;
    setAtomic(a: number | string): ChainValue;
    getCompound(): string;
    setCompound(c: string | number): ChainValue;
    equals(value: ChainValue): boolean;
    lessOrEqual(chainValue: ChainValue): boolean;
    less(chainValue: ChainValue): boolean;
    greaterOrEqual(chainValue: ChainValue): boolean;
    greater(chainValue: ChainValue): boolean;
    add(chainValue: ChainValue): ChainValue;
    subtract(chainValue: ChainValue): ChainValue;
    multiply(value: number | string): ChainValue;
    divide(value: number | string): ChainValue;
    toFormat(prefix: string, format?: ChainValueFormat): string;
    clone(): ChainValue;
}
