import { GraphQLClient } from 'graphql-request'; import { Address, Abi } from 'viem'; declare const createGraphQLClient: () => GraphQLClient; declare function graphqlRequest(query: string, variables?: Record): Promise; declare function typedGraphqlRequest = Record>(query: string, variables?: TVariables): Promise; interface MarketData { marketId: bigint; startTime: bigint; endTime: bigint; pool: Address; ethToken: Address; gasToken: Address; minPriceD18: bigint; maxPriceD18: bigint; baseAssetMinPriceTick: number; baseAssetMaxPriceTick: number; settled: boolean; settlementPriceD18: bigint; assertionId: `0x${string}`; } interface MarketGroupParams { feeRate: number; assertionLiveness: bigint; bondAmount: bigint; bondCurrency: Address; uniswapPositionManager: Address; uniswapSwapRouter: Address; uniswapQuoter: Address; optimisticOracleV3: Address; claimStatement: `0x${string}`; } interface UseMarketResult { marketData: MarketData | undefined; marketGroupParams: MarketGroupParams | undefined; isLoading: boolean; error: Error | null; } interface UseMarketProps { marketAddress: Address; marketId: bigint; abi: Abi; } declare function useMarket({ marketAddress, marketId, abi }: UseMarketProps): UseMarketResult; export { createGraphQLClient, graphqlRequest, typedGraphqlRequest, useMarket };