import { ABIDecoder } from "../serializer/decoder.js"; import { ABIEncoder } from "../serializer/encoder.js"; import { ABISerializableObject } from "../serializer/serializable.js"; import BN from 'bn.js'; type IntType = Int | number | string | BN; export type OverflowBehavior = 'throw' | 'truncate' | 'clamp'; export type DivisionBehavior = 'floor' | 'round' | 'ceil'; export declare class Int implements ABISerializableObject { static abiName: string; static isSigned: boolean; static byteWidth: number; static get max(): any; static get min(): any; static get zero(): Int; static add(lhs: Int, rhs: Int, overflow?: OverflowBehavior): Int; static sub(lhs: Int, rhs: Int, overflow?: OverflowBehavior): Int; static mul(lhs: Int, rhs: Int, overflow?: OverflowBehavior): Int; static div(lhs: Int, rhs: Int, overflow?: OverflowBehavior): Int; static divRound(lhs: Int, rhs: Int, overflow?: OverflowBehavior): Int; static divCeil(lhs: Int, rhs: Int, overflow?: OverflowBehavior): Int; static gt(lhs: Int, rhs: Int): any; static lt(lhs: Int, rhs: Int): any; static gte(lhs: Int, rhs: Int): any; static lte(lhs: Int, rhs: Int): any; static operator(lhs: Int, rhs: Int, overflow: OverflowBehavior | undefined, fn: (lhs: BN, rhs: BN) => BN): Int; static from(this: T, value: IntType | Uint8Array, overflow?: OverflowBehavior): InstanceType; static from(value: any, overflow?: OverflowBehavior): unknown; static fromABI(this: T, decoder: ABIDecoder): InstanceType; static fromABI(decoder: ABIDecoder): unknown; static abiDefault(): Int; static random(this: T): InstanceType; static random(): unknown; value: BN; constructor(value: BN); cast(type: T, overflow?: OverflowBehavior): InstanceType; get byteArray(): Uint8Array; equals(other: IntType | Uint8Array, strict?: boolean): any; add(num: IntType): void; adding(num: IntType): this; subtract(num: IntType): void; subtracting(num: IntType): this; multiply(by: IntType): void; multiplying(by: IntType): this; divide(by: IntType, behavior?: DivisionBehavior): void; dividing(by: IntType, behavior?: DivisionBehavior): this; gt(other: Int): any; lt(other: Int): any; gte(other: Int): any; lte(other: Int): any; private operator; toNumber(): any; toString(): any; [Symbol.toPrimitive](type: string): any; toABI(encoder: ABIEncoder): void; toJSON(): any; } export type Int8Type = Int8 | IntType; export declare class Int8 extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; } export type Int16Type = Int16 | IntType; export declare class Int16 extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; } export type Int32Type = Int32 | IntType; export declare class Int32 extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; } export type Int64Type = Int64 | IntType; export declare class Int64 extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; } export type Int128Type = Int128 | IntType; export declare class Int128 extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; } export type UInt8Type = UInt8 | IntType; export declare class UInt8 extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; } export type UInt16Type = UInt16 | IntType; export declare class UInt16 extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; } export type UInt32Type = UInt32 | IntType; export declare class UInt32 extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; } export type UInt64Type = UInt64 | IntType; export declare class UInt64 extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; } export type UInt128Type = UInt128 | IntType; export declare class UInt128 extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; } export type VarIntType = VarInt | IntType; export declare class VarInt extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; static fromABI(decoder: ABIDecoder): VarInt; toABI(encoder: ABIEncoder): void; } export type VarUIntType = VarUInt | IntType; export declare class VarUInt extends Int { static abiName: string; static byteWidth: number; static isSigned: boolean; static fromABI(decoder: ABIDecoder): VarUInt; toABI(encoder: ABIEncoder): void; } export type AnyInt = Int8Type | Int16Type | Int32Type | Int64Type | Int128Type | UInt8Type | UInt16Type | UInt32Type | UInt64Type | UInt128Type | VarIntType | VarUIntType; export {}; //# sourceMappingURL=integer.d.ts.map