import { PublicClient } from "viem";
export interface NetworkFields {
    name: string;
    rpcUrl: string;
    chainId: number;
    scanUrl: string;
    icon: string | undefined;
    testnet: boolean;
    nativeCurrency: {
        decimals: number;
        name: string;
        symbol: string;
        wrappedAddress: string | undefined;
        icon: string | undefined;
    };
}
/**
 * Leveraging Network Data provided from through viem
 * This class makes all relevant network fields accessible dynamically by chain ID.
 */
export declare class Network implements NetworkFields {
    name: string;
    rpcUrl: string;
    chainId: number;
    scanUrl: string;
    client: PublicClient;
    icon: string | undefined;
    testnet: boolean;
    nativeCurrency: {
        decimals: number;
        name: string;
        symbol: string;
        wrappedAddress: string | undefined;
        icon: string | undefined;
    };
    constructor({ name, rpcUrl, chainId, scanUrl, nativeCurrency, icon, }: NetworkFields);
    static fromChainId(chainId: number, options?: {
        rpcUrl?: string;
        scanUrl?: string;
    }): Network;
}
export declare function isTestnet(chainId: number): boolean;
