import { GenericTokenList, MulticallRetryFunction } from '../../types';
import { MorphoVaults } from './types';
/**
 * One-shot fetcher for all MetaMorpho vaults on a chain.
 *
 * Routes between two data sources, normalized to the same `MorphoVault`
 * shape: the curated **on-chain** path (via the `morphoTypeVaults` registry)
 * for chains the hosted API doesn't cover, and the public **Morpho API**
 * for chains it indexes. The on-chain branch needs a `multicallRetry`
 * executor; the API branch ignores it (HTTP GraphQL).
 *
 * (A Goldsky-subgraph branch used to serve SEI / Celo / Lisk / Soneium / TAC
 * / Hemi, but all of those now have on-chain registry entries — and the
 * upstream subgraph endpoints were retired — so the on-chain path covers them
 * with real `liquidity`/APR and the subgraph path was removed.)
 *
 * @param chainId        target chain
 * @param multicallRetry provider-level multicall executor (on-chain branch)
 * @param prices         optional price map keyed by oracle key / underlying
 * @param tokenList      optional token list for hydrating `asset` metadata
 *
 * @returns `MorphoVaults` — map keyed by lowercased vault address, or
 *          an empty object when the chain has no Morpho deployment.
 */
export declare const fetchMorphoVaults: (chainId: string, multicallRetry: MulticallRetryFunction, prices?: {
    [asset: string]: number;
}, tokenList?: GenericTokenList) => Promise<MorphoVaults>;
//# sourceMappingURL=fetchPublic.d.ts.map