import { type SiloApiEntry } from '../../../lending/public-data/silo-v2/fetchPublic';
import type { OraclePriceEntry, ParseContext, TokenListMap, USDPriceMap } from '../types';
/**
 * Silo v3 GraphQL oracle-price prefetch. Mirrors `siloV2Graphql.ts` but
 * filters the shared `api-v3.silo.finance` endpoint to `protocolVersion:
 * 'v3'` and looks up registry entries via `getSiloV3MarketEntry`.
 *
 * Returns `null` when the indexer has no data for the chain so the caller
 * can fall back to the on-chain path.
 */
export declare function fetchSiloV3GraphQLMarkets(chainId: string): Promise<SiloApiEntry[] | null>;
/**
 * Morpho-style one-shot price fetcher for Silo v3. Same self-contained
 * resolution strategy as the v2 variant: parses with a USD-price map
 * derived from `supplyUsd / supply` ratios across the same response,
 * with the caller-provided `basePrices` overlaid on top.
 *
 * Mirrors `fetchMorphoGraphQLPrices` so callers can treat this as a
 * direct, parallel-runnable price source: returns parsed entries on
 * success or `null` to signal "fall back to on-chain".
 */
export declare function fetchSiloV3GraphQLPrices(chainId: string, basePrices?: USDPriceMap, tokenList?: TokenListMap): Promise<OraclePriceEntry[] | null>;
/**
 * Convert a GraphQL-fetched silos list into oracle price entries. Logic
 * identical to the v2 variant — resolves USD via the indexer's
 * `supplyUsd`/`supply` ratio first, falling back to `quote × quoteTokenUSD`
 * for empty silos.
 */
export declare function parseSiloV3GraphQLResults(items: SiloApiEntry[], context: ParseContext): OraclePriceEntry[];
//# sourceMappingURL=siloV3Graphql.d.ts.map