import { TechnicalIndicator, TradingSignal } from '../../base/Indicator.js';
import type { MovingAverageTypes } from '../../trend/MA/MovingAverageTypes.js';
import type { BandsResult } from '../../base/BandsResult.type.js';
import type { HighLowClose } from '../../base/Candle.type.js';
export declare class AccelerationBands extends TechnicalIndicator<BandsResult, HighLowClose<number>> {
    #private;
    readonly interval: number;
    readonly width: number;
    constructor(interval: number, width: number, SmoothingIndicator?: MovingAverageTypes);
    getRequiredInputs(): number;
    update({ close, high, low }: HighLowClose<number>, replace: boolean): {
        lower: number;
        middle: number;
        upper: number;
    } | null;
    get isStable(): boolean;
    protected calculateSignal(result?: BandsResult | null, close?: number): "BEARISH" | "BULLISH" | "SIDEWAYS" | "UNKNOWN";
    getSignal(): {
        state: (typeof TradingSignal)[keyof typeof TradingSignal];
        hasChanged: boolean;
    };
}
