import { Address, Chain } from "viem";
import { Coin, PendleStrategies } from "../../../types/types";
export interface ChainConfig extends Chain {
    constants: {
        jusdAddress: Address;
        sharesDecimals: number;
        explorerUrl: string;
        rpcUrl: string;
        jigsawManagerAddress: Address;
        holdingManagerAddress: Address;
        liquidationManagerAddress: Address;
        stablesManagerAddress: Address;
        strategyManagerAddress: Address;
        swapManagerAddress: Address;
    };
    tokens: {
        collaterals: {
            [key: string]: Coin;
        };
        allSymbols: string[];
        borrowSymbols: string[];
        depositSymbols: string[];
        withdrawSymbols: string[];
        baseSymbols: string[];
        collateralGroups: {
            name: string;
            coins: Coin[];
        }[];
        collateralGroupsWithRewards: {
            name: string;
            coins: Coin[];
        }[];
        rewardTokens?: {
            [key: string]: Coin;
        };
        nativeCoin: string;
        wrappedNativeCoin: string;
    };
    strategies: {
        aave?: {
            aaveStrategies: {
                [key: string]: {
                    stratAddress: Address;
                };
            };
            uiPoolDataProviderAddress: Address;
            uiIncentiveDataProviderAddress: Address;
            lendingPoolAddressProvider: Address;
        };
        reservoir?: {
            [key: string]: {
                apy: string;
                stratAddress: Address;
            };
        };
        dinero?: {
            [key: string]: {
                apy: string;
                stratAddress: Address;
            };
        };
        pendle?: {
            strategies: PendleStrategies;
            markets: string[];
        };
        elixir?: {
            [key: string]: {
                stratAddress: Address;
            };
        };
    } | null;
    protocolsAssets: {
        name: string;
        icon: string;
        assets: string[];
    }[] | null;
    protocolStrategyMap: {
        [key: string]: string[];
    } | null;
}
export declare const CHAINS: {
    [chainId: number]: ChainConfig;
};
export declare function getChainConfig(chainId: number): ChainConfig;
