/** * Uniswap Position Quoter SDK * * Provides re-balance calculations for multi-position strategies * across multiple DEX protocols with 99% accuracy. * * @packageDocumentation * * @example * ```typescript * import { CustomRouterFactory, NoopLogger } from '@steerprotocol/uniswap-position-quoter'; * * const factory = new CustomRouterFactory(NoopLogger); * const router = factory.createCustomRouter({ * beaconName: "UniswapV3", * quoterV2: quoterContract, * poolObj: poolContract * }); * ``` */ // ============================================================================ // PRIMARY API - Factory Pattern (Use This!) // ============================================================================ /** * Main factory for creating protocol-specific routers * This is the primary entry point for the SDK */ export { CustomRouterFactory, } from './factory'; export type { CreateCustomRouterParams, ProtocolSpecificParams, } from './factory'; /** * Logger interface - required for factory initialization */ export { NoopLogger } from './utils'; export type { Logger } from './utils'; /** * Common types for TypeScript users */ export type { Position, SwapResult, GetSwapAmountOptions, SearchMode, SwapCalculationParams, SwapCalculationResult, } from './types'; /** * SwapCalculator - High-level orchestrator for swap calculations * Coordinates all helper modules for vault swap calculations */ export { SwapCalculator } from './SwapCalculator'; // ============================================================================ // SECONDARY API - Type Exports (For Advanced Usage & TypeScript) // ============================================================================ /** * Router union type returned by factory * Users typically don't need to import this directly */ export type { CustomRouter } from './factory'; /** * Protocol detector - for advanced use cases */ export { ProtocolDetector } from './factory'; /** * Helper modules - for advanced usage and custom implementations */ export { AbiManager, ContractFactory, QuoterFactory, PositionExtractor, BalanceQuerier, PoolStateQuerier, getProtocolConfigKeys, getFactoryAddress, getQuoterV2Address, PROTOCOL_CONFIG_MAP, DEFAULT_PROTOCOL_CONFIG, getNetworkConfig, getAvailableNetworks, hasNetwork, } from './helpers'; export type { ProtocolConfig, VaultBalances, VaultInput, VaultPositions, NetworkConfig, Networks, ContractConfig, } from './helpers'; /** * Engine interfaces - for advanced usage or custom implementations */ export type { QuoteEngine, PoolState } from './engines'; // ============================================================================ // INTERNAL API - Router Implementations (Not Recommended for Direct Use) // ============================================================================ // These are exported for backward compatibility and advanced use cases. // Most users should use CustomRouterFactory instead. // ============================================================================ export { BaseRouter, UniswapCustomRouter, UniswapCustomRouterV2, AlgebraCustomRouter, AlgebraIntegralCustomRouter, AlgebraIntegralV2CustomRouter, PoolSharkCustomRouter, AerodromeCustomRouter, ShadowCustomRouter, ThickV2CustomRouter, } from './routers';