import Decimal from "decimal.js";
import bs58 from "bs58";
import { ethers } from "ethers";
import { BigNumber, BigNumberish, BN } from "./BigNumberUtils";
export type Decimalish = string | number | Decimal;
export declare const AddressZero = "0x0000000000000000000000000000000000000000";
export declare const MAX_BIG_INT: ethers.BigNumber;
export declare const keccak256: typeof ethers.utils.keccak256;
export { bs58 };
export declare const toBNWei: (num: BigNumberish, decimals?: number) => BN;
export declare const fromWei: (num: BigNumberish, decimals?: number) => string;
export declare function min(a: BigNumberish, b: BigNumberish): BN;
export declare function max(a: BigNumberish, b: BigNumberish): BN;
export declare const fixedPointAdjustment: ethers.BigNumber;
export declare function nativeToToken(fromAmount: BigNumberish, price?: string | number, toDecimals?: number, nativeDecimals?: number): string;
export declare const gasCost: (gas: BigNumberish, gasPrice: BigNumberish) => BigNumber;
export declare function calculateGasFees(gas: number, gasPrice: BigNumberish, price?: string | number, decimals?: number): string;
export declare function percent(numerator: BigNumberish, denominator: BigNumberish): BN;
export declare const calcContinuousCompoundInterest: (startAmount: Decimalish, endAmount: Decimalish, periodsElapsed: Decimalish, periodsPerYear: Decimalish) => string;
export declare const calcPeriodicCompoundInterest: (startAmount: Decimalish, endAmount: Decimalish, periodsElapsed: Decimalish, periodsPerYear: Decimalish) => string;
export declare const calcApr: (startAmount: Decimalish, endAmount: Decimalish, periodsElapsed: Decimalish, periodsPerYear: Decimalish) => string;
export declare const getSamplesBetween: (min: number, max: number, size: number) => number[][];
export declare function delay(seconds: number): Promise<unknown>;
export declare function retry<T>(call: () => Promise<T>, times: number, delayS: number): Promise<T>;
export type TransactionCostEstimate = {
    nativeGasCost: BigNumber;
    tokenGasCost: BigNumber;
    gasPrice: BigNumber;
    opStackL1GasCost?: BigNumber;
};
export declare function randomAddress(): string;
