| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | import { randomBytes } from '@noble/hashes/utils';import { CHash } from './abstract/utils.js';import { CurveType } from './abstract/weierstrass.js';export declare function getHash(hash: CHash): {    hash: CHash;    hmac: (key: Uint8Array, ...msgs: Uint8Array[]) => Uint8Array;    randomBytes: typeof randomBytes;};type CurveDef = Readonly<Omit<CurveType, 'hash' | 'hmac' | 'randomBytes'>>;export declare function createCurve(curveDef: CurveDef, defHash: CHash): Readonly<{    create: (hash: CHash) => import("./abstract/weierstrass.js").CurveFn;    CURVE: ReturnType<(curve: CurveType) => Readonly<{        readonly nBitLength: number;        readonly nByteLength: number;        readonly Fp: import("./abstract/modular.js").IField<bigint>;        readonly n: bigint;        readonly h: bigint;        readonly hEff?: bigint;        readonly Gx: bigint;        readonly Gy: bigint;        readonly allowInfinityPoint?: boolean;        readonly a: bigint;        readonly b: bigint;        readonly allowedPrivateKeyLengths?: readonly number[];        readonly wrapPrivateKey?: boolean;        readonly endo?: {            beta: bigint;            splitScalar: (k: bigint) => {                k1neg: boolean;                k1: bigint;                k2neg: boolean;                k2: bigint;            };        };        readonly isTorsionFree?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: import("./abstract/weierstrass.js").ProjPointType<bigint>) => boolean) | undefined;        readonly clearCofactor?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: import("./abstract/weierstrass.js").ProjPointType<bigint>) => import("./abstract/weierstrass.js").ProjPointType<bigint>) | undefined;        readonly hash: CHash;        readonly hmac: (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;        readonly randomBytes: (bytesLength?: number) => Uint8Array;        lowS: boolean;        readonly bits2int?: (bytes: Uint8Array) => bigint;        readonly bits2int_modN?: (bytes: Uint8Array) => bigint;        readonly p: bigint;    }>>;    getPublicKey: (privateKey: import("./abstract/utils.js").PrivKey, isCompressed?: boolean) => Uint8Array;    getSharedSecret: (privateA: import("./abstract/utils.js").PrivKey, publicB: import("./abstract/utils.js").Hex, isCompressed?: boolean) => Uint8Array;    sign: (msgHash: import("./abstract/utils.js").Hex, privKey: import("./abstract/utils.js").PrivKey, opts?: import("./abstract/weierstrass.js").SignOpts) => import("./abstract/weierstrass.js").RecoveredSignatureType;    verify: (signature: import("./abstract/utils.js").Hex | {        r: bigint;        s: bigint;    }, msgHash: import("./abstract/utils.js").Hex, publicKey: import("./abstract/utils.js").Hex, opts?: import("./abstract/weierstrass.js").VerOpts) => boolean;    ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;    Signature: import("./abstract/weierstrass.js").SignatureConstructor;    utils: {        normPrivateKeyToScalar: (key: import("./abstract/utils.js").PrivKey) => bigint;        isValidPrivateKey(privateKey: import("./abstract/utils.js").PrivKey): boolean;        randomPrivateKey: () => Uint8Array;        precompute: (windowSize?: number, point?: import("./abstract/weierstrass.js").ProjPointType<bigint>) => import("./abstract/weierstrass.js").ProjPointType<bigint>;    };}>;export {};//# sourceMappingURL=_shortw_utils.d.ts.map
 |