/** * MetricAMM SDK - Factory Fee Collection */ import { type Address, type Hex, type PublicClient, type TransactionReceipt, type WalletClient } from "viem"; export interface FactoryAssetBalance { asset: Address; amount: bigint; isNative: boolean; } export interface CollectFactoryFeesParams { publicClient: PublicClient; walletClient: WalletClient; factoryAddress: Address; target: Address; assets: Address[]; account: Address; awaitReceipts?: boolean; } export interface CollectedFactoryFeeTx { asset: Address; amount: bigint; isNative: boolean; hash: Hex; receipt?: TransactionReceipt; } export interface CollectFactoryFeesResult { balances: FactoryAssetBalance[]; collected: CollectedFactoryFeeTx[]; } /** * Read balances for the provided asset list on the factory. * For ERC20 assets this uses multicall(balanceOf(factory)). * For native ETH (zero address), this uses getBalance(factory). */ export declare function getFactoryAssetBalances(publicClient: PublicClient, factoryAddress: Address, assets: Address[]): Promise; /** * Collect all non-zero balances for the provided assets from the factory, * sending each asset in a separate transaction. */ export declare function collectFactoryFees(params: CollectFactoryFeesParams): Promise; //# sourceMappingURL=collectFees.d.ts.map