/** * Price Utilities with Market Index Support * Provides price conversion and market-specific utilities */ import { OrderApi } from '../api/order-api'; export interface MarketConfig { index: number; name: string; baseAsset: string; quoteAsset: string; baseScale: number; quoteScale: number; minOrderSize: number; tickSize: number; lastTradePrice?: number; } /** * Fetch market configuration from API */ export declare function fetchMarketConfig(marketId: number, orderApi: OrderApi): Promise; /** * Get cached market configuration or fetch if not available */ export declare function getMarketConfig(marketId: number, orderApi?: OrderApi): Promise; export declare const MARKETS: Record; /** * Convert human-readable price to exchange units */ export declare function priceToUnits(price: number, marketIndex: number, orderApi?: OrderApi): Promise; /** * Convert exchange units to human-readable price */ export declare function unitsToPrice(units: number, marketIndex: number, orderApi?: OrderApi): Promise; /** * Convert human-readable amount to exchange units */ export declare function amountToUnits(amount: number, marketIndex: number, orderApi?: OrderApi): Promise; /** * Convert exchange units to human-readable amount */ export declare function unitsToAmount(units: number, marketIndex: number, orderApi?: OrderApi): Promise; /** * Synchronous versions using static config (for backwards compatibility) */ export declare function priceToUnitsSync(price: number, marketIndex: number): number; export declare function unitsToPriceSync(units: number, marketIndex: number): number; export declare function amountToUnitsSync(amount: number, marketIndex: number): number; export declare function unitsToAmountSync(units: number, marketIndex: number): number; /** * Format price for display */ export declare function formatPrice(units: number, marketIndex: number, orderApi?: OrderApi, decimals?: number): Promise; /** * Format amount for display */ export declare function formatAmount(units: number, marketIndex: number, orderApi?: OrderApi, decimals?: number): Promise; /** * Calculate percentage change between prices */ export declare function calculatePercentageChange(currentPrice: number, previousPrice: number): number; /** * Calculate SL/TP prices based on percentage */ export declare function calculateSLPrice(entryPrice: number, percentage: number, isLongPosition: boolean): number; export declare function calculateTPPrice(entryPrice: number, percentage: number, isLongPosition: boolean): number; /** * Validate order size against market minimum */ export declare function validateOrderSize(amount: number, marketIndex: number, orderApi?: OrderApi): Promise; /** * Round price to valid tick size */ export declare function roundToTickSize(price: number, marketIndex: number, orderApi?: OrderApi): Promise; /** * Get market info by index */ export declare function getMarketInfo(marketIndex: number, orderApi?: OrderApi): Promise; /** * List all available markets */ export declare function getAllMarkets(): MarketConfig[]; /** * Export MarketHelper for convenience */ export { MarketHelper } from './market-helper'; //# sourceMappingURL=price-utils.d.ts.map