export interface RollyWasmResult { ready: boolean; error: Error | null; poseidon2_hash: (input: BigUint64Array) => BigUint64Array; poseidon2_two_to_one: (left: BigUint64Array, right: BigUint64Array) => BigUint64Array; derive_session_key: (sig_bytes: Uint8Array) => BigUint64Array; session_public_key: (session_key: BigUint64Array, session_expiry: bigint) => BigUint64Array; compute_server_seed_hash: (server_seed: BigUint64Array) => BigUint64Array; seed_hash_truncated: (server_seed: BigUint64Array) => BigUint64Array; string_to_user_seed: (input: string) => BigUint64Array; string_to_user_seed_hex: (input: string) => string; generate_user_seed: () => string; goldilocks_fields_to_hex: (fields: BigUint64Array) => string; goldilocks_modulus: () => bigint; goldilocks_reduce: (value: bigint) => bigint; amount_split: (amount: bigint) => Uint32Array; compute_address_hash: (address_hex: string) => BigUint64Array; hash_balance_leaf: (raw: BigUint64Array) => BigUint64Array; make_main_leaf: (balance_hash: BigUint64Array, pk_hash: BigUint64Array, address_hash: BigUint64Array) => BigUint64Array; compute_prediction_hash: (game_id: number, p0: number, p1: number, p2: number) => BigUint64Array; compute_prediction_hash_keno: (game_id: number, risk: number, pick_count: number, selected: Uint8Array) => BigUint64Array; compute_user_seed_binding: (game_id: number, bet: bigint, pred_hash: BigUint64Array, secret: BigUint64Array) => BigUint64Array; generate_user_secret: () => BigUint64Array; compute_payout_dice: (random: BigUint64Array, bet_atomic: bigint, game_mode: number, prediction_lo: number, prediction_hi: number) => BigUint64Array; compute_payout_limbo: (random: BigUint64Array, bet_atomic: bigint, prediction_x100: number) => BigUint64Array; compute_payout_plinko: (random: BigUint64Array, bet_atomic: bigint, sector: number, rows: number, is_extreme: boolean) => BigUint64Array; compute_payout_coinflip: (random: BigUint64Array, bet_atomic: bigint, prediction: number) => BigUint64Array; compute_payout_keno: (random: BigUint64Array, bet_atomic: bigint, risk: number, selected: Uint8Array) => BigUint64Array; compute_roll_dice: (random: BigUint64Array) => number; compute_roll_limbo: (random: BigUint64Array) => number; compute_roll_plinko: (random: BigUint64Array, rows: number) => number; compute_roll_coinflip: (random: BigUint64Array) => number; compute_drawn_keno: (random: BigUint64Array) => Uint8Array; compute_multi_dice: (win_numbers: number) => bigint; limbo_rtp_percent: () => number; coinflip_rtp_percent: () => number; coinflip_multiplier_x10000: () => number; dice_rtp_percent: () => number; plinko_min_rows: () => number; plinko_max_rows: () => number; plinko_num_sectors: () => number; plinko_multiplier_table: (sector: number, rows: number, is_extreme: boolean) => BigUint64Array; plinko_is_valid_config: (sector: number, rows: number, is_extreme: boolean) => boolean; plinko_is_valid_rows: (rows: number) => boolean; plinko_rtp_x100: (sector: number, rows: number, is_extreme: boolean) => bigint; plinko_all_rtp_x100: () => Record; keno_numbers_range: () => number; keno_draw_count: () => number; keno_max_picks: () => number; keno_multiplier_table: (risk: number, pick_count: number) => BigUint64Array; keno_is_valid_config: (risk: number, pick_count: number) => boolean; keno_rtp_x100: (risk: number, pick_count: number) => bigint; keno_all_rtp_x100: () => Record; } export function useRollyWasm(): RollyWasmResult;