/// <reference types="node" />
import { Q_OPERATION } from './constants';
export declare const q: (val: number | bigint | Buffer, base: number | bigint) => Q;
export declare class Q {
    private readonly _base;
    private readonly _val;
    constructor(val: bigint, base: number | bigint);
    static fromValue(val: number | bigint | Buffer | Q, base: number | bigint): Q;
    add(n: Q): Q;
    sub(n: Q): Q;
    mul(n: Q): Q;
    div(n: Q): Q;
    muldiv(n: Q, m: Q, operation?: Q_OPERATION): Q;
    inv(): Q;
    toBuffer(): Buffer;
    eq(n: Q): boolean;
    lt(n: Q): boolean;
    lte(n: Q): boolean;
    gt(n: Q): boolean;
    gte(n: Q): boolean;
    floor(): bigint;
    ceil(): bigint;
    private _checkBase;
    private _roundDown;
    private _roundUp;
    private _bigintToHex;
}
