import { z } from 'zod';
export declare const zodSupportedNetwork: z.ZodEnum<["mainnet", "sepolia", "interop-alpha", "supersim"]>;
export type SupportedNetwork = z.infer<typeof zodSupportedNetwork>;
export declare const CHAIN_LIST_URL = "https://raw.githubusercontent.com/ethereum-optimism/superchain-registry/refs/heads/main/chainList.json";
declare const zodChainListItem: z.ZodObject<{
    name: z.ZodString;
    identifier: z.ZodEffects<z.ZodString, `${string}/${string}`, string>;
    chainId: z.ZodNumber;
    rpc: z.ZodArray<z.ZodString, "many">;
    explorers: z.ZodArray<z.ZodString, "many">;
    parent: z.ZodObject<{
        type: z.ZodLiteral<"L2">;
        chain: z.ZodEnum<["mainnet", "sepolia", "interop-alpha", "supersim"]>;
    }, "strip", z.ZodTypeAny, {
        type: "L2";
        chain: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
    }, {
        type: "L2";
        chain: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
    }>;
}, "strip", z.ZodTypeAny, {
    name: string;
    chainId: number;
    identifier: `${string}/${string}`;
    rpc: string[];
    explorers: string[];
    parent: {
        type: "L2";
        chain: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
    };
}, {
    name: string;
    chainId: number;
    identifier: string;
    rpc: string[];
    explorers: string[];
    parent: {
        type: "L2";
        chain: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
    };
}>;
declare const zodChainList: z.ZodArray<z.ZodObject<{
    name: z.ZodString;
    identifier: z.ZodEffects<z.ZodString, `${string}/${string}`, string>;
    chainId: z.ZodNumber;
    rpc: z.ZodArray<z.ZodString, "many">;
    explorers: z.ZodArray<z.ZodString, "many">;
    parent: z.ZodObject<{
        type: z.ZodLiteral<"L2">;
        chain: z.ZodEnum<["mainnet", "sepolia", "interop-alpha", "supersim"]>;
    }, "strip", z.ZodTypeAny, {
        type: "L2";
        chain: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
    }, {
        type: "L2";
        chain: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
    }>;
}, "strip", z.ZodTypeAny, {
    name: string;
    chainId: number;
    identifier: `${string}/${string}`;
    rpc: string[];
    explorers: string[];
    parent: {
        type: "L2";
        chain: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
    };
}, {
    name: string;
    chainId: number;
    identifier: string;
    rpc: string[];
    explorers: string[];
    parent: {
        type: "L2";
        chain: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
    };
}>, "many">;
export type ChainListItem = z.infer<typeof zodChainListItem>;
export type ChainList = z.infer<typeof zodChainList>;
export declare const fetchSuperchainRegistryChainList: (chainListURL: string) => Promise<{
    name: string;
    chainId: number;
    identifier: `${string}/${string}`;
    rpc: string[];
    explorers: string[];
    parent: {
        type: "L2";
        chain: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
    };
}[]>;
export {};
