import { Token } from "@betswirl/sdk-core"; import type { Token as OnchainKitToken } from "@coinbase/onchainkit/token"; import { type Address } from "viem"; import { TokenWithImage } from "../types/types"; export interface FilterTokensResult { filtered: T[]; unmatched: Address[]; } /** * Filters tokens based on allowed address list and returns both filtered tokens and unmatched addresses * * @param tokens - Array of available tokens to filter from * @param allowedTokenAddresses - Array of token addresses to allow (simplified API) * @returns Object with filtered tokens and unmatched addresses for validation * * @example * ```ts * const result = filterTokensByAllowed(availableTokens, [ * "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed", // DEGEN * "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC * ]) * * console.log(result.filtered) // Matched tokens * console.log(result.unmatched) // Addresses not found * ``` */ export declare function filterTokensByAllowed(tokens: T[], allowedTokenAddresses: Address[]): FilterTokensResult; /** * Converts BetSwirl token to OnchainKit token format */ export declare function convertToOnchainKitToken(token: TokenWithImage, chainId: number): OnchainKitToken;