import { ChainId, Currency } from '@uniswap/sdk-core'; import { ProviderConfig } from '../provider'; import { MobulaClient } from './mobula-client'; import { MobulaPair, MobulaPoolType } from './mobula-types'; export type MobulaSubgraphProviderOptions = { perTokenPages?: number; chainWidePages?: number; minLiquidityUsd?: number; includeChainWide?: boolean; throwOnEmpty?: boolean; overallTimeoutMs?: number; chainWideTimeoutMs?: number; }; export declare const MOBULA_SUBGRAPH_PROVIDER_DEFAULTS: Required; export declare function toMobulaQueryAddress(chainId: ChainId, currency?: Currency): string | undefined; export declare function knownDecimals(chainId: ChainId, address: string): number | undefined; export declare function normalizeHooks(hooks: string | undefined): string; export declare abstract class MobulaSubgraphProvider { protected readonly chainId: ChainId; protected readonly client: MobulaClient; protected readonly options: Required; protected abstract readonly protocol: string; protected abstract readonly poolType: MobulaPoolType; constructor(chainId: ChainId, client: MobulaClient, options?: MobulaSubgraphProviderOptions); protected abstract acceptPair(pair: MobulaPair): boolean; protected abstract mapPair(pair: MobulaPair): TPool | undefined; protected postProcess(pools: TPool[]): Promise; getPools(tokenIn?: Currency, tokenOut?: Currency, _providerConfig?: ProviderConfig): Promise; private getChainWidePairs; }