import { type Hex } from "viem"; /** $10 USDC in atomic units (6 decimals). Single payment below this → payTo = seller EOA (0 protocol fee). */ export declare const DEFAULT_FEE_FREE_BELOW_USDC = 10000000n; export interface PredictFeeSplitterParams { factoryAddress: `0x${string}`; seller: `0x${string}`; feeCollector: `0x${string}`; asset: `0x${string}`; feeBps?: number; /** Override creation bytecode (defaults to compiled FeeSplitter). */ creationBytecode?: Hex; } /** * CREATE2 salt matching FeeSplitterFactory.salt(seller) = * bytes32(uint256(uint160(seller))). */ export declare function feeSplitterSalt(seller: `0x${string}`): Hex; /** * Predict the CREATE2 FeeSplitter address for a seller (works before deploy). * Must match FeeSplitterFactory.predictAddress(seller) for the same factory immutables. * * Operator must `getOrCreate(seller)` before the first ≥ threshold settle that uses * this address as payTo — EIP-3009 only credits balances; it does not deploy. */ export declare function predictFeeSplitterAddress(params: PredictFeeSplitterParams): `0x${string}`; export interface ResolvePayToParams { /** Accepts amount in USDC atomic units (6 decimals). */ amountAtomic: bigint | string | number; seller: `0x${string}`; /** Default 10_000_000 ($10). Amounts strictly below → seller EOA. */ feeFreeBelowUsdc?: bigint; factoryAddress?: `0x${string}`; feeCollector: `0x${string}`; asset: `0x${string}`; feeBps?: number; creationBytecode?: Hex; } /** * Permissionless seller payTo resolver: * - amount < feeFreeBelowUsdc (default $10 = 10_000_000) → seller EOA (0 protocol fee) * - amount ≥ threshold → CREATE2-predicted FeeSplitter (later permissionless release()) * * Does **not** deploy the splitter and does **not** claim same-tx atomic split. */ export declare function resolvePayTo(params: ResolvePayToParams): `0x${string}`;