ec: { bitMask: ((n: number) => bigint); isNegativeLE: ((num: bigint,
modulo: bigint) => boolean); notImplemented: (() => never); p256: Readonly<{ create: ((hash: CHash) => CurveFn); CURVE: ReturnType<((curve: CurveType) => Readonly<{ a: bigint; allowedPrivateKeyLengths?: readonly number[]; allowInfinityPoint?: boolean; b: bigint; bits2int?: ((bytes: Uint8Array) => bigint); bits2int_modN?: ((bytes: Uint8Array) => bigint); clearCofactor?: ((c: ProjConstructor,
point: ProjPointType) => ProjPointType); endo?: { beta: bigint; splitScalar: ((k: bigint) => { k1: bigint; k1neg: boolean; k2: bigint; k2neg: boolean; }); }; Fp: IField; Gx: bigint; Gy: bigint; h: bigint; hash: CHash; hEff?: bigint; hmac: ((key: Uint8Array,
...messages: Uint8Array[]) => Uint8Array); isTorsionFree?: ((c: ProjConstructor,
point: ProjPointType) => boolean); lowS: boolean; n: bigint; nBitLength: number; nByteLength: number; p: bigint; randomBytes: ((bytesLength?: number) => Uint8Array); wrapPrivateKey?: boolean; }>)>; getPublicKey: ((privateKey: PrivKey,
isCompressed?: boolean) => Uint8Array); getSharedSecret: ((privateA: PrivKey,
publicB: Hex,
isCompressed?: boolean) => Uint8Array); ProjectivePoint: ProjConstructor; sign: ((msgHash: Hex,
privKey: PrivKey,
opts?: SignOpts) => RecoveredSignatureType); Signature: SignatureConstructor; utils: { normPrivateKeyToScalar: ((key: PrivKey) => bigint); precompute: ((windowSize?: number,
point?: ProjPointType) => ProjPointType); randomPrivateKey: (() => Uint8Array); isValidPrivateKey(privateKey: PrivKey): boolean; }; verify: ((signature: Hex | { r: bigint; s: bigint; },
msgHash: Hex,
publicKey: Hex,
opts?: VerOpts) => boolean); }>; abool(title: string,
value: boolean): void; abytes(item: unknown): void; aInRange(title: string,
n: bigint,
min: bigint,
max: bigint): void; bitGet(n: bigint,
pos: number): bigint; bitLen(n: bigint): number; bitSet(n: bigint,
pos: number,
value: boolean): bigint; bytesToHex(bytes: Uint8Array): string; bytesToNumberBE(bytes: Uint8Array): bigint; bytesToNumberLE(bytes: Uint8Array): bigint; concatBytes(...arrays: Uint8Array[]): Uint8Array; createHmacDrbg<T>(hashLen: number,
qByteLen: number,
hmacFn: ((key: Uint8Array,
...messages: Uint8Array[]) => Uint8Array)): ((seed: Uint8Array,
predicate: ((v: Uint8Array) => undefined | T)) => T); ensureBytes(title: string,
hex: Hex,
expectedLength?: number): Uint8Array; equalBytes(a: Uint8Array,
b: Uint8Array): boolean; Field(ORDER: bigint,
bitLen?: number,
isLE?: boolean,
redef?: Partial<IField<bigint>>): Readonly<IField<bigint> & Required<Pick<IField<bigint>, "isOdd">>>; FpDiv<T>(f: IField<T>,
lhs: T,
rhs: bigint | T): T; FpInvertBatch<T>(f: IField<T>,
nums: T[]): T[]; FpIsSquare<T>(f: IField<T>): ((x: T) => boolean); FpLegendre(order: bigint): (<T>(f: IField<T>,
x: T) => T); FpPow<T>(f: IField<T>,
num: T,
power: bigint): T; FpSqrt(P: bigint): (<T>(Fp: IField<T>,
n: T) => T); FpSqrtEven<T>(Fp: IField<T>,
elm: T): T; FpSqrtOdd<T>(Fp: IField<T>,
elm: T): T; getFieldBytesLength(fieldOrder: bigint): number; getMinHashLength(fieldOrder: bigint): number; hashToPrivateScalar(hash: string | Uint8Array,
groupOrder: bigint,
isLE?: boolean): bigint; hexToBytes(hex: string): Uint8Array; hexToNumber(hex: string): bigint; inRange(n: bigint,
min: bigint,
max: bigint): boolean; invert(number: bigint,
modulo: bigint): bigint; isBytes(a: unknown): a is Uint8Array; mapHashToField(key: Uint8Array,
fieldOrder: bigint,
isLE?: boolean): Uint8Array; memoized<T, R, O>(fn: ((arg: T,
...args: O) => R)): ((arg: T,
...args: O) => R); mod(a: bigint,
b: bigint): bigint; nLength(n: bigint,
nBitLength?: number): { nBitLength: number; nByteLength: number; }; numberToBytesBE(n: number | bigint,
len: number): Uint8Array; numberToBytesLE(n: number | bigint,
len: number): Uint8Array; numberToHexUnpadded(num: number | bigint): string; numberToVarBytesBE(n: number | bigint): Uint8Array; pow(num: bigint,
power: bigint,
modulo: bigint): bigint; pow2(x: bigint,
power: bigint,
modulo: bigint): bigint; tonelliShanks(P: bigint): (<T>(Fp: IField<T>,
n: T) => T); utf8ToBytes(str: string): Uint8Array; validateField<T>(field: IField<T>): IField<T>; validateObject<T>(object: T,
validators: { [K in string | number | symbol]?: | "string" | "bigint" | "boolean" | "function" | "hash" | "stringOrUint8Array" | "isSafeInteger" | "array" | "field" },
optValidators?: { [K in string | number | symbol]?: | "string" | "bigint" | "boolean" | "function" | "hash" | "stringOrUint8Array" | "isSafeInteger" | "array" | "field" }): T; }