/** Static config for a token supported on a particular network. */
import type { SelectItem } from "../primitives/select";
export interface TokenConfig {
    /** Unique identifier used as the select value (e.g. "USDC"). */
    value: string;
    /** Human-readable label shown in dropdowns. */
    label: string;
    /** URL of the token icon/logo. */
    iconUrl: string;
}
/** Static config for a blockchain network. */
export interface NetworkConfig {
    /** Unique identifier used as the select value (e.g. "polygon"). */
    value: string;
    /** Human-readable label shown in dropdowns. */
    label: string;
    /** URL of the colored chain icon. */
    iconUrl: string;
    /** Tokens supported for deposits/withdrawals on this network. */
    tokens: TokenConfig[];
}
export declare const SUPPORTED_NETWORKS: NetworkConfig[];
/** Return the supported tokens for a given network value. */
export declare const getTokensForNetwork: (networkValue: string) => TokenConfig[];
/** Map local SUPPORTED_NETWORKS to Select items with iconUrl. */
export declare const mapNetworksToOptions: () => SelectItem[];
/** Default currency options shown when the caller does not provide any. */
export declare const DEFAULT_CURRENCY_OPTIONS: SelectItem[];
/** Add iconUrl to token options when missing, based on DEFAULT_CURRENCY_OPTIONS. */
export declare const withTokenIcons: (options: SelectItem[]) => SelectItem[];
/** Add iconUrl to network options when missing, resolved via chain ID or slug. */
export declare const withNetworkIcons: (options: SelectItem[]) => SelectItem[];
/** Merge two option arrays by value (preserving caller order, then filling from defaults). */
export declare const mergeSelectOptionsUnique: (base: SelectItem[] | undefined, fill: SelectItem[]) => SelectItem[];
