/**
 * Chains for which the Silo GraphQL indexer has data. For any chain not in
 * this set, the caller must fall back to the on-chain path.
 */
export declare const SILO_API_SUPPORTED_CHAIN_IDS: Set<string>;
export type SiloApiMarket = {
    index: number;
    inputTokenId: string;
    inputToken?: {
        id: string;
        symbol: string;
        decimals: number;
    } | null;
    lt: string;
    maxLtv: string;
    liquidationTargetLtv?: string | null;
    daoFee?: string | null;
    deployerFee?: string | null;
    liquidationFee?: string | null;
    flashLoanFee?: string | null;
    borrowRate: string;
    depositRate: string;
    supply: string;
    borrowed: string;
    supplyUsd: number | null;
    borrowedUsd: number | null;
    liquidityUsd?: number | null;
    utilization: string;
    collateralAssetsSupply?: string | null;
    collateralAssetsSupplyUsd?: number | null;
    liquidity?: string | null;
    solvencyOracleAddress?: string | null;
    maxLtvOracleAddress?: string | null;
    interestRateModelId?: string | null;
    sTokenId?: string | null;
    spTokenId?: string | null;
    dTokenId?: string | null;
    solvencyOracle?: {
        id: string;
        quote: string;
        quoteTimestamp: string;
        baseTokenId: string;
        quoteTokenId: string;
    } | null;
    maxLtvOracle?: {
        id: string;
        quote: string;
        quoteTimestamp: string;
    } | null;
};
export type SiloApiEntry = {
    id: string;
    chainId: number;
    configAddress: string;
    name?: string | null;
    protocol?: {
        protocolVersion: string;
    } | null;
    market1: SiloApiMarket;
    market2: SiloApiMarket;
};
/**
 * Lightweight Silo GraphQL fetch that requests ONLY the fields the
 * oracle-price prefetch parser consumes (`siloV{2,3}Graphql.ts`).
 *
 * Same endpoint and filter semantics as `fetchSiloMarkets`, but the trimmed
 * payload is small enough to avoid the per-IP rate-limiting the full query
 * triggers when run frequently across multiple chains.
 */
export declare function fetchSiloMarketsLite(chainId: string, options?: {
    protocolVersion?: 'v2' | 'v3';
    limit?: number;
}): Promise<SiloApiEntry[]>;
/**
 * Fetch all Silo v2/v3 silos for a single chain from the GraphQL indexer.
 *
 * Returns the raw `silos.items` list (optionally filtered to a specific
 * protocol version). Throws on HTTP / GraphQL errors so the caller can
 * distinguish "API failed → fall back to RPC" from "API returned nothing".
 */
export declare function fetchSiloMarkets(chainId: string, options?: {
    protocolVersion?: 'v2' | 'v3';
    limit?: number;
}): Promise<SiloApiEntry[]>;
//# sourceMappingURL=fetchPublic.d.ts.map