import type { MovingAverage } from '../../trend/MA/MovingAverage.js';
import type { MovingAverageTypes } from '../../trend/MA/MovingAverageTypes.js';
import { TrendIndicatorSeries } from '../../base/Indicator.js';
import type { SignalThresholds } from '../../base/SignalThresholds.type.js';
export declare class StochasticRSI extends TrendIndicatorSeries {
    #private;
    readonly interval: number;
    readonly smoothing: {
        readonly k: MovingAverage;
        readonly d: MovingAverage;
    };
    constructor(interval: number, SmoothingRSI?: MovingAverageTypes, smoothing?: {
        readonly k: MovingAverage;
        readonly d: MovingAverage;
    }, { overbought, oversold }?: SignalThresholds);
    getRequiredInputs(): number;
    update(price: number, replace: boolean): number | null;
    protected calculateSignalState(result?: number | null | undefined): "BEARISH" | "BULLISH" | "SIDEWAYS" | "UNKNOWN";
}
