import { Address, PublicClient } from 'viem'; /** `Spoke.ORACLE` is `immutable`; the result is safe to cache forever. */ export declare function getOracleAddress(publicClient: PublicClient, spokeAddress: Address): Promise
; /** Batch read; reverts the WHOLE batch on the first bad reserve. */ export declare function getReservesPrices(publicClient: PublicClient, oracleAddress: Address, reserveIds: bigint[]): Promise; export interface ReservePriceResult { reserveId: bigint; /** Raw 1e8 base units, or null on revert. */ priceRaw: bigint | null; error: Error | null; } /** * Per-reserve isolated read for display lists (one bad source ≠ whole list * blank). One multicall round-trip instead of one `eth_call` per reserve: * each entry is `getReservesPrices([reserveId])` with `allowFailure: true`, so * a single reverting reserve isolates to its own error entry. A network-level * multicall failure marks every reserve failed rather than throwing — callers * (display hooks) rely on always getting a per-reserve result array. */ export declare function getReservesPricesSafe(publicClient: PublicClient, oracleAddress: Address, reserveIds: bigint[]): Promise; //# sourceMappingURL=oracle.d.ts.map