import { MulticallRetryFunction, GenericTokenList } from '../../types';
import type { LstShareTokens } from './types';
/**
 * One-shot fetcher for all LST share tokens on a chain.
 *
 * Two parallel I/O legs that both feed the same output map:
 *
 *  1. **On-chain leg** — every reader's calls are concatenated into a
 *     single `multicallRetry` payload; the response is sliced back
 *     into per-entry chunks and parsed. Failures in one entry's
 *     parser produce `undefined` and are silently dropped — they
 *     don't sink the whole batch.
 *
 *  2. **APR leg** — `resolveYieldApr` dedups the registry's
 *     `YieldFetcher` refs, runs each once, and resolves the weETH
 *     composition (wstETH base + EtherFi LRT2 bonus).
 *
 * Returns `{}` when the chain has no registry entries. Per-entry
 * failures (multicall slice missing, parser returned `undefined`,
 * APR missing) result in that entry being omitted, never throwing.
 */
export declare const fetchLstShareTokens: (chainId: string, multicallRetry: MulticallRetryFunction, prices?: {
    [asset: string]: number;
}, tokenList?: GenericTokenList, opts?: {
    /** Fetch the **live** validator set for delegation LSTs (Core, Celo).
     *  These reads go via standalone RPC (`getEvmClient`), separate from the
     *  injected multicall, so they're opt-in to keep the hot data path cheap.
     *  The `delegation` descriptor is always attached regardless. */
    includeValidators?: boolean;
}) => Promise<LstShareTokens>;
//# sourceMappingURL=fetchPublic.d.ts.map