import { type Chain } from 'viem/chains';
import { ETHEREAL_CHAIN_ID, HYPERCORE_CHAIN_ID, HYPER_EVM_CHAIN_ID, LIGHTER_CHAIN_ID, MONAD_CHAIN_ID, ROBINHOOD_MAINNET_CHAIN_ID, SOLANA_MAINNET_CHAIN_ID } from './chainId';
export * from './chainId';
export declare const hyperEvmChain: {
    id: typeof HYPER_EVM_CHAIN_ID;
    name: string;
    nativeCurrency: {
        name: string;
        symbol: string;
        decimals: number;
    };
    rpcUrls: {
        default: {
            http: string[];
            wss: string[];
        };
    };
    blockExplorers: {
        default: {
            name: string;
            url: string;
            apiUrl: string;
        };
    };
    contracts: {
        ensRegistry: {
            address: `0x${string}`;
        };
        ensUniversalResolver: {
            address: `0x${string}`;
            blockCreated: number;
        };
        multicall3: {
            address: `0x${string}`;
            blockCreated: number;
        };
    };
};
export declare const etherealChain: {
    id: typeof ETHEREAL_CHAIN_ID;
    name: string;
    nativeCurrency: {
        name: string;
        symbol: string;
        decimals: number;
    };
    rpcUrls: {
        default: {
            http: string[];
        };
    };
    blockExplorers: {
        default: {
            name: string;
            url: string;
        };
    };
    contracts: {
        ensRegistry: {
            address: `0x${string}`;
        };
        ensUniversalResolver: {
            address: `0x${string}`;
            blockCreated: number;
        };
        multicall3: {
            address: `0x${string}`;
            blockCreated: number;
        };
    };
};
export declare const lighterChain: {
    id: typeof LIGHTER_CHAIN_ID;
    name: string;
    nativeCurrency: {
        name: string;
        symbol: string;
        decimals: number;
    };
    rpcUrls: {
        default: {
            http: string[];
        };
    };
    blockExplorers: {
        default: {
            name: string;
            url: string;
            path: {
                tx: string;
                address: string;
                block: string;
                transfer: string;
            };
        };
    };
    contracts: {
        ensRegistry: {
            address: `0x${string}`;
        };
        ensUniversalResolver: {
            address: `0x${string}`;
            blockCreated: number;
        };
        multicall3: {
            address: `0x${string}`;
            blockCreated: number;
        };
    };
};
export declare const monadChain: {
    id: typeof MONAD_CHAIN_ID;
    name: string;
    nativeCurrency: {
        name: string;
        symbol: string;
        decimals: number;
    };
    rpcUrls: {
        default: {
            http: string[];
        };
    };
    blockExplorers: {
        default: {
            name: string;
            url: string;
        };
    };
    contracts: {
        ensRegistry: {
            address: `0x${string}`;
        };
        ensUniversalResolver: {
            address: `0x${string}`;
            blockCreated: number;
        };
        multicall3: {
            address: `0x${string}`;
            blockCreated: number;
        };
    };
};
export declare const solanaChain: {
    id: typeof SOLANA_MAINNET_CHAIN_ID;
    name: string;
    nativeCurrency: {
        symbol: string;
        decimals: number;
        name: string;
    };
    rpcUrls: {
        default: {
            http: string[];
        };
    };
    blockExplorers: {
        default: {
            name: string;
            url: string;
            apiUrl: string;
        };
    };
    contracts: {
        ensRegistry: {
            address: `0x${string}`;
        };
        ensUniversalResolver: {
            address: `0x${string}`;
            blockCreated: number;
        };
        multicall3: {
            address: `0x${string}`;
            blockCreated: number;
        };
    };
};
export declare const hyperCoreChain: {
    id: typeof HYPERCORE_CHAIN_ID;
    name: string;
    nativeCurrency: {
        symbol: string;
        decimals: number;
        name: string;
    };
    rpcUrls: {
        default: {
            http: string[];
        };
    };
    blockExplorers: {
        default: {
            name: string;
            url: string;
        };
    };
    contracts: {
        ensRegistry: {
            address: `0x${string}`;
        };
        ensUniversalResolver: {
            address: `0x${string}`;
            blockCreated: number;
        };
        multicall3: {
            address: `0x${string}`;
            blockCreated: number;
        };
    };
};
export declare const bitcoinChain: {
    id: number;
    name: string;
    nativeCurrency: {
        symbol: string;
        decimals: number;
        name: string;
    };
    rpcUrls: {
        default: {
            http: string[];
        };
    };
    blockExplorers: {
        default: {
            name: string;
            url: string;
        };
    };
    contracts: {};
};
export declare const lightningChain: {
    id: number;
    name: string;
    nativeCurrency: {
        symbol: string;
        decimals: number;
        name: string;
    };
    /**
     * No public JSON-RPC exists for Lightning. The URL is a
     * placeholder to satisfy viem's non-empty rpcUrls.default.http requirement
     * (same convention as bitcoinChain). Lightning is filtered out of wagmi
     * via isCheckoutSupported:false (see chainMetadata below), so this URL is
     * never actually called internally. In the rare case an external SDK
     * consumer imports this chain and passes it to wagmi directly, the
     * placeholder defers (not prevents) failure — they get a clearer
     * HttpRequestError at the first JSON-RPC call instead of UrlRequiredError
     * at config-build time.
     */
    rpcUrls: {
        default: {
            http: string[];
        };
    };
    blockExplorers: {
        default: {
            name: string;
            url: string;
        };
    };
    contracts: {};
};
export declare const tronChain: {
    id: number;
    name: string;
    nativeCurrency: {
        symbol: string;
        decimals: number;
        name: string;
    };
    rpcUrls: {
        default: {
            http: string[];
        };
    };
    blockExplorers: {
        default: {
            name: string;
            url: string;
            path: {
                tx: string;
                transfer: string;
            };
        };
    };
    contracts: {};
};
export declare const robinhoodChain: {
    id: typeof ROBINHOOD_MAINNET_CHAIN_ID;
    name: string;
    nativeCurrency: {
        name: string;
        symbol: string;
        decimals: number;
    };
    rpcUrls: {
        default: {
            http: string[];
            webSocket: string[];
        };
    };
    blockExplorers: {
        default: {
            name: string;
            url: string;
        };
    };
    contracts: {
        ensRegistry: {
            address: `0x${string}`;
        };
        ensUniversalResolver: {
            address: `0x${string}`;
            blockCreated: number;
        };
        multicall3: {
            address: `0x${string}`;
            blockCreated: number;
        };
    };
};
export declare const FUNKIT_CONNECT_SUPPORTED_CHAINS_ID_LIST: readonly [1, 8453, 137, 42161, 10, 56, 324, 5000, 1151111081099710, 534352, 999, 1337, 2741, number, 5064014, 143, 3586256, number, 4663, 57073, 5, 421614];
type FunKitConnectSupportedChainId = (typeof FUNKIT_CONNECT_SUPPORTED_CHAINS_ID_LIST)[number];
interface FunTokenInfo {
    symbol: string;
    decimals: number;
    name: string;
}
export type ExplorerInfoUrlPath = {
    path?: {
        tx?: string;
        address?: string;
        block?: string;
        transfer?: string;
    };
};
export interface FunChainInfo {
    name: string;
    nativeCurrency: FunTokenInfo;
    coreToken?: FunTokenInfo;
    chainInfo: Chain;
    explorerInfo: NonNullable<NonNullable<Chain['blockExplorers']>['default']> & ExplorerInfoUrlPath;
    isCheckoutSupported: boolean;
    isMainnet: boolean;
    pickPriority: number;
    fallbackRpcUrls: string[];
}
/** this type is used to mock `noUncheckedIndexedAccess` */
type SupportedChainInfos = {
    [key in FunKitConnectSupportedChainId]: FunChainInfo;
} & {
    [k: string]: FunChainInfo | undefined;
};
/**
 * Info on the supported chains of FunkitConnect
 * Added into coresdk because it is used in here too.
 *
 * fallbackRpcUrl: see https://chainlist.org/ for more public RPC endpoints
 */
export declare const FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO: SupportedChainInfos;
export declare const FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO_LIST: [Chain, ...Chain[]];
export declare const FUNKIT_CONNECT_SUPPORTED_CHECKOUT_CHAINS_INFO_LIST: [Chain, ...Chain[]];
export declare const FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
export * from './chainMetadata';
//# sourceMappingURL=index.d.ts.map