import type { FlapSignConfig } from './types.js'; import type { GeneratedWallet } from '../../../utils/wallet.js'; /** 分散参数 */ export type FlapDisperseSignParams = { chain: 'BSC' | 'MONAD' | 'XLAYER'; fromPrivateKey: string; recipients: string[]; amount?: string; amounts?: string[]; tokenAddress?: string; tokenDecimals?: number; hopCount?: number | number[]; hopPrivateKeys?: string[][]; items?: { recipient: string; amount: string | bigint; hopCount?: number; hopPrivateKeys?: string[]; }[]; config: FlapSignConfig; startNonce?: number; }; /** 分散结果 */ export type FlapDisperseMerkleResult = { signedTransactions: string[]; hopWallets?: (string | GeneratedWallet)[][]; profitHopWallets?: GeneratedWallet[]; metadata?: { totalAmount: string; profitAmount: string; profitRecipient: string; recipientCount: number; isNative: boolean; tokenAddress?: string; }; }; /** 归集参数 */ export type FlapSweepSignParams = { chain: 'BSC' | 'MONAD' | 'XLAYER'; sourcePrivateKeys: string[]; target: string; ratioPct?: number; ratios?: number[]; amount?: string; amounts?: string[]; tokenAddress?: string; tokenDecimals?: number; skipIfInsufficient?: boolean; hopCount?: number | number[]; hopPrivateKeys?: string[][]; sources?: { privateKey: string; ratioPct?: number; amount?: string; hopCount?: number; hopPrivateKeys?: string[]; }[]; config: FlapSignConfig; startNonce?: number; }; /** 归集结果 */ export type FlapSweepMerkleResult = { signedTransactions: string[]; hopWallets?: (string | GeneratedWallet)[][]; profitHopWallets?: GeneratedWallet[]; metadata?: { totalAmount: string; profitAmount: string; profitRecipient: string; sourceCount: number; isNative: boolean; tokenAddress?: string; }; }; /** * Flap Protocol: 分散(仅签名版本) * ✅ 支持利润提取(按地址数量收取固定费用) * ✅ 支持多跳 * ✅ 支持 Multicall3 批量获取余额 */ export declare function flapDisperseWithBundleMerkle(params: FlapDisperseSignParams): Promise; /** * Flap Protocol: 归集(仅签名版本) * ✅ 支持利润提取(按地址数量收取固定费用) * ✅ 查询余额最大的钱包支付利润 * ✅ 支持多跳 * ✅ 支持 Multicall3 批量获取余额 */ export declare function flapSweepWithBundleMerkle(params: FlapSweepSignParams): Promise;