/**
 * BLS key generation from a 32-byte seed (HKDF matching C++ implementation).
 * Returns a 32-byte big-endian secret key scalar.
 */
export declare function blsKeyGen(seed: Uint8Array): Uint8Array;
/** Convert secret key from big-endian to little-endian (32 bytes). */
export declare function skToLE(skBE: Uint8Array): Uint8Array;
/** Convert secret key from little-endian to big-endian (same operation as skToLE). */
export declare function skFromLE(skLE: Uint8Array): Uint8Array;
/**
 * Derive the BLS public key from a 32-byte big-endian secret key.
 * Returns 96-byte affine LE format matching C++.
 */
export declare function blsGetPublicKey(skBE: Uint8Array): Uint8Array;
/**
 * Generate a BLS proof of possession for the given secret key.
 * Non-standard: hashes affine LE public key bytes (96 bytes) to G2.
 * Returns 192-byte affine LE format matching C++.
 */
export declare function blsProofOfPossession(skBE: Uint8Array): Uint8Array;
/**
 * Sign a message with BLS. Uses standard BLS_SIG DST.
 * Returns 192-byte affine LE signature matching C++.
 */
export declare function blsSign(skBE: Uint8Array, message: Uint8Array): Uint8Array;
/**
 * Verify a BLS signature.
 * @param sigLE - 192-byte signature in affine LE format
 * @param message - the signed message
 * @param pkLE - 96-byte public key in affine LE format
 */
export declare function blsVerify(sigLE: Uint8Array, message: Uint8Array, pkLE: Uint8Array): boolean;
/**
 * Generate a random BLS secret key (32-byte big-endian).
 */
export declare function blsGenerate(): Uint8Array;
//# sourceMappingURL=BLS.d.ts.map