import { Abi, Address, Chain } from "viem";
import { Currency } from "../types";
export declare enum SupportedChainIds {
    BASE = 8453,
    BASE_SEPOLIA = 84532
}
export type SupportedChainId = (typeof SupportedChainIds)[keyof typeof SupportedChainIds];
export declare enum ContractTarget {
    ParabolUSD = "ParabolUSD",
    MockUSDC = "MockUSDC",
    ReserveStabilityPool = "ReserveStabilityPool",
    NonFungibleNotePosition = "NonFungibleNotePosition"
}
interface ParabolContract {
    address: Address;
    abi: Abi;
}
declare enum TokenTarget {
    ParabolUSD = "ParabolUSD",
    MockUSDC = "MockUSDC"
}
interface ChainConfig {
    name: string;
    chainId: SupportedChainId;
    chain: Chain;
    rpcUrls: string[];
    fallbackUrls: string[];
}
export interface GlobalNetworkConfig extends ChainConfig {
    subgraphId: string;
    contracts: Partial<{
        [key in ContractTarget]: ParabolContract;
    }>;
    tokens: Partial<{
        [key in TokenTarget]: Currency;
    }>;
}
export declare const GlobalConfig: Record<SupportedChainId, GlobalNetworkConfig>;
export declare const SupportedMainnets: Partial<{
    [key in SupportedChainId]: GlobalNetworkConfig;
}>;
export declare const SupportedTestnets: Partial<{
    [key in SupportedChainId]: GlobalNetworkConfig;
}>;
export {};
//# sourceMappingURL=global.d.ts.map