import { IndicatorResult } from '../plugins/analysis/indicators'; type IndicatorName = "rsi" | "macd" | "bollingerBands" | "sma" | "ema"; interface IndicatorTaskPayload { id: string; type: "indicator"; indicator: IndicatorName; data: Float32Array | Float64Array; period?: number; fastPeriod?: number; slowPeriod?: number; signalPeriod?: number; stdDev?: number; } interface IndicatorTaskResult extends IndicatorResult { id: string; type: "indicator-result"; indicator: string; duration: number; } /** * Synchronous indicator computation shared by the sync fallback path. * Exported so the parameter defaults and dispatch can be unit-tested directly. */ export declare function computeIndicatorSync(task: IndicatorTaskPayload): IndicatorTaskResult; /** Async RSI — non-blocking for large datasets */ export declare function rsiAsync(data: Float32Array | Float64Array | number[], period?: number): Promise; /** Async SMA */ export declare function smaAsync(data: Float32Array | Float64Array | number[], period?: number): Promise; /** Async EMA */ export declare function emaAsync(data: Float32Array | Float64Array | number[], period?: number): Promise; /** Async MACD */ export declare function macdAsync(data: Float32Array | Float64Array | number[], fastPeriod?: number, slowPeriod?: number, signalPeriod?: number): Promise; /** Async Bollinger Bands */ export declare function bollingerBandsAsync(data: Float32Array | Float64Array | number[], period?: number, stdDev?: number): Promise; /** Destroy the shared indicator worker pool (for tests) */ export declare function destroyIndicatorPool(): void; /** Exposed for tests */ export declare function getIndicatorPoolSize(): number; /** Exposed for tests */ export declare function isIndicatorPreferSync(): boolean; export {};