/** * Utility functions for backend padding calculations * Uses the backend's pad_front and pad_back parameters for reliable padding */ export interface PaddingConfig { frontPadUnits: number; backPadUnits: number; baselineUnits: number; } /** * Default padding configurations for different use cases */ export declare const DEFAULT_PADDING_CONFIGS: { readonly CONSERVATIVE: { readonly frontPadUnits: 50; readonly backPadUnits: 50; readonly baselineUnits: 800; }; readonly STANDARD: { readonly frontPadUnits: 1000; readonly backPadUnits: 1000; readonly baselineUnits: 800; }; readonly AGGRESSIVE: { readonly frontPadUnits: 200; readonly backPadUnits: 200; readonly baselineUnits: 3000; }; readonly MINIMAL: { readonly frontPadUnits: 25; readonly backPadUnits: 25; readonly baselineUnits: 400; }; }; /** * Backend API parameters for trade analytics data request */ export interface TradeAnalyticsApiParams { strategyId: string; assetId: string; timeframe: string; from_ms?: number; to_ms?: number; pivot?: number; pad_front?: number; pad_back?: number; } /** * Approximate milliseconds per bar from timeframe strings like "5m", "1h", "1D", "1W" * Supports: 5m, 5min, 1H, 1hour, 1D, 1day, 1W, 1M, 3M, 1Q, 1Y, etc. * @param timeframe - Timeframe string (e.g., "5m", "1H", "1D") * @returns Milliseconds per bar */ export declare function getMsPerBar(timeframe: string): number; /** * Calculates API parameters for round trip focused data request * Uses backend padding instead of frontend calculations */ export declare function calculateRoundTripApiParams(baseParams: { strategyId: string; assetId: string; timeframe: string; }, roundTripTimes: { openTime: number; closeTime: number; }, paddingConfig?: PaddingConfig): TradeAnalyticsApiParams; /** * Calculates API parameters for baseline data request (no specific round trip) * Uses previous behavior: fetch entire candlestick data (no time constraints) */ export declare function calculateBaselineApiParams(baseParams: { strategyId: string; assetId: string; timeframe: string; }): TradeAnalyticsApiParams; /** * Calculates API parameters for multiple round trips * Finds the optimal pivot and padding to cover all trades */ export declare function calculateMultiRoundTripApiParams(baseParams: { strategyId: string; assetId: string; timeframe: string; }, roundTrips: Array<{ openTime: number; closeTime: number | null; }>, paddingConfig?: PaddingConfig): TradeAnalyticsApiParams; /** * Creates a cache key for API parameters * Used by the caching system to identify unique requests */ export declare function createApiParamsCacheKey(params: TradeAnalyticsApiParams): string; /** * Formats API parameters for the HTTP request */ export declare function formatApiParamsForRequest(params: TradeAnalyticsApiParams): Record; /** * Helper function to get padding description for debugging */ export declare function getPaddingDescription(config: PaddingConfig): string; //# sourceMappingURL=BackendPaddingUtils.d.ts.map