import { GetMarketsResponse } from '../../../types/lender/morpho-types';
interface SubgraphMarket {
    id: string;
    inputToken: {
        id: string;
    };
    borrowedToken: {
        id: string;
    };
    rates: {
        id: string;
        rate: string;
    }[];
    oracle: {
        id: string;
        oracleAddress: string;
    };
    maximumLTV: string;
    liquidationThreshold: string;
    liquidationPenalty: string;
    inputTokenPriceUSD: string;
    reserveFactor: string;
    totalCollateral: string;
    totalSupplyShares: string;
    totalSupply: string;
    totalBorrow: string;
    totalBorrowShares: string;
    interest: string;
    fee: string;
    irm: string;
    lltv: string;
    lastUpdate: string;
}
interface SubgraphMetaMorpho {
    id: string;
    name: string;
    symbol: string;
    decimals: number;
    account: {
        positions: {
            id: string;
            market: {
                id: string;
            };
            side: string;
            balance: string;
            principal: string;
            shares: string;
        }[];
    };
    asset: {
        id: string;
    };
    curator: {
        id: string;
    } | null;
    owner: {
        id: string;
    };
    guardian: {
        id: string;
    } | null;
    allocators: {
        account: {
            id: string;
        };
    }[];
    timelock: string;
    fee: string;
    rate: {
        id: string;
        rate: string;
    } | null;
    lastTotalAssets: string;
    totalShares: string;
    markets: {
        id: string;
        market: {
            id: string;
        };
        cap: string;
        currentPendingCap: {
            cap: string;
            validAt: string;
            status: string;
        } | null;
    }[];
}
export declare function hasSubgraph(chainId: string): boolean;
/**
 * Fetches raw market data from the subgraph.
 * Unlike fetchMarketsFromSubgraph, this does NOT filter by token list
 * and returns all markets with their raw subgraph fields.
 * Used by the oracle price fetcher which only needs addresses and decimals.
 */
export declare function fetchRawSubgraphMarkets(chainId: string): Promise<SubgraphMarket[]>;
/**
 * Fetches Morpho Blue markets from the Goldsky subgraph and returns
 * them in the same shape as the Morpho API (GetMarketsResponse),
 * so they can be processed by convertMarketsToMorphoResponse.
 */
export declare function fetchMarketsFromSubgraph(chainId: string): Promise<GetMarketsResponse>;
export declare function fetchMetaMorphosFromSubgraph(chainId: string): Promise<SubgraphMetaMorpho[]>;
export {};
//# sourceMappingURL=fetchMorphoGoldsky.d.ts.map