import BN from "bn.js";
export declare class Fraction {
    private numerator;
    private denominator;
    constructor(numerator: BN | number, denominator: BN | number);
    isZero(): boolean;
    eq(other: Fraction): boolean;
    gt(other: Fraction): boolean;
    lt(other: Fraction): boolean;
    reduce(): void;
    inverted(): Fraction;
    negated(): Fraction;
    mul(other: Fraction): Fraction;
    abs(): Fraction;
    div(other: Fraction): Fraction;
    sub(other: Fraction): Fraction;
    add(other: Fraction): Fraction;
    toNumber(): number;
    /**
     * Represents a Javascript number as a pair numerator/denominator without precision loss
     * by retrieving mantissa, exponent, and sign from its bit representation
     * @param number - The Javascript number to be represented
     * @returns a BigInt array with two elements: numerator and denominator
     */
    private static numberToNumAndDen;
    static fromNumber(number: number): Fraction;
    toBN(): BN;
    clone(): Fraction;
    static fromJSON(o: FractionJson): Fraction;
}
export interface FractionJson {
    numerator: string;
    denominator: string;
}
