import Barrett from './barret'; import Classic from './classic'; import Montgomery from './montgomery'; import NullExp from './null-exp'; import SecureRandom from './secure-random'; declare function am2(this: BigInteger, i: number, x: number, w: BigInteger, j: number, c: number, n: number): number; export default class BigInteger { static ZERO: BigInteger; static ONE: BigInteger; Barrett: typeof Barrett; am: typeof am2; s: number; t: number; DB: number; DM: number; DV: number; protected FV: number; protected F1: number; protected F2: number; constructor(a?: string | number | null, b?: number | SecureRandom, c?: number); toString(b?: 2 | 4 | 8 | 16 | 32): string; negate(): BigInteger; abs(): BigInteger; compareTo(a: BigInteger): number; bitLength(): number; mod(a: BigInteger): BigInteger; modPowInt(e: number, m: BigInteger): BigInteger; fromInt(x: number): void; divRemTo(m: BigInteger, q: BigInteger | null, r: BigInteger | null): void; multiplyTo(a: BigInteger, r: BigInteger): void; squareTo(r: BigInteger): void; invDigit(): number; subTo(a: BigInteger, r: BigInteger): void; dlShiftTo(n: number, r: BigInteger): void; clamp(): void; drShiftTo(n: number, r: BigInteger): void; clone(): BigInteger; signum(): 0 | 1 | -1; intValue(): any; testBit(n: number): boolean; shiftLeft(n: number): BigInteger; isProbablePrime(t: number): boolean; subtract(a: BigInteger): BigInteger; getLowestSetBit(): number; shiftRight(n: number): BigInteger; modPow(e: BigInteger, m: BigInteger): BigInteger; divide(a: BigInteger): BigInteger; copyTo(r: BigInteger): void; byteValue(): number; shortValue(): number; toByteArray(): any[]; equals(a: BigInteger): boolean; min(a: BigInteger): BigInteger; max(a: BigInteger): BigInteger; and(a: BigInteger): BigInteger; or(a: BigInteger): BigInteger; xor(a: BigInteger): BigInteger; andNot(a: BigInteger): BigInteger; not(): BigInteger; bitCount(): number; setBit(n: number): BigInteger; clearBit(n: number): BigInteger; flipBit(n: number): BigInteger; add(a: BigInteger): BigInteger; multiply(a: BigInteger): BigInteger; square(): BigInteger; remainder(a: BigInteger): BigInteger; divideAndRemainder(a: BigInteger): BigInteger[]; pow(e: number): BigInteger; gcd(a: BigInteger): BigInteger; modInverse(m: BigInteger): BigInteger; multiplyUpperTo(a: BigInteger, n: number, r: BigInteger): void; multiplyLowerTo(a: BigInteger, n: number, r: BigInteger): void; dAddOffset(n: number, w: number): void; protected addTo(a: BigInteger, r: BigInteger): void; protected changeBit(n: number, op: (a: number, b: number) => number): BigInteger; protected millerRabin(t: number): boolean; protected modInt(n: number): number; protected bitwiseTo(a: BigInteger, op: (a: number, b: number) => number, r: BigInteger): void; protected dMultiply(n: number): void; protected fromRadix(s: string, b: number | null | undefined): void; protected chunkSize(r: number): number; protected toRadix(b?: number | null): string; protected fromString(s: string, b: 2 | 4 | 8 | 16 | 32 | 256 | number): void; protected fromNumber(a: number, b: number | SecureRandom, c?: number): void; protected lShiftTo(n: number, r: BigInteger): void; protected rShiftTo(n: number, r: BigInteger): void; protected isEven(): boolean; protected exp(e: number, z: Classic | Montgomery | NullExp): BigInteger; } export declare function nbi(): BigInteger; export {};