import { Snapshot, Group, PairData, PairsBackendReturn } from '../types'; import { PairsCache } from './pairs_cache'; import { AssetParametersRPC } from './asset_parameters'; import { CategoryParametersRPC } from './category_parameters'; import { FeeParametersRPC } from './fee_parameters'; import { BlendedRPC } from './blended'; /** * RPC module for aggregating all market data into a snapshot * Optimized to use getPairBackend() to reduce duplicate contract calls */ export declare class SnapshotRPC { private pairsCache; private assetParams; private categoryParams; private feeParams; private blendedParams; constructor(pairsCache: PairsCache, assetParams: AssetParametersRPC, categoryParams: CategoryParametersRPC, feeParams: FeeParametersRPC, blendedParams: BlendedRPC); /** * Get comprehensive market snapshot with all data * Optimized to use getPairBackend() to reduce contract calls * @returns Snapshot object containing all market parameters */ getSnapshot(): Promise; /** * Get snapshot for a specific group * @param groupIndex - Group index * @returns Group data */ getGroupSnapshot(groupIndex: number): Promise; /** * Get snapshot for a specific pair * @param pairName - Pair name (e.g., "BTC/USD") * @returns Pair data */ getPairSnapshot(pairName: string): Promise; /** * Get full backend data for a specific pair (includes all pair config, group, and fee info) * This provides more detailed information than the standard snapshot * @param pairIndex - Pair index * @returns Complete backend data for the pair */ getPairFullData(pairIndex: number): Promise; /** * Get full backend data for all pairs * Useful for getting complete configuration data in one call * @returns Map of pair index to full backend data */ getAllPairsFullData(): Promise>; }