import type { Bar } from '../../types'; export interface ZigZagSettings { devThreshold: number; depth: number; lineColor: string; extendLast: boolean; displayReversalPrice: boolean; displayCumulativeVolume: boolean; displayReversalPriceChange: boolean; differencePriceMode: 'Absolute' | 'Percent'; allowZigZagOnOneBar: boolean; } export interface ZigZagPoint { time: number; barIndex: number; price: number; } export interface ZigZagPivot { isHigh: boolean; volume: number; start: ZigZagPoint; end: ZigZagPoint; } export interface ZigZagResult { pivots: ZigZagPivot[]; extension: ZigZagPivot | null; } export declare const defaultSettings: ZigZagSettings; export declare class ZigZag { settings: ZigZagSettings; pivots: ZigZagPivot[]; sumVol: number; private highBuffer; private lowBuffer; private timeBuffer; private barCount; constructor(settings?: Partial); update(bar: Bar, barIndex: number): boolean; lastPivot(): ZigZagPivot | null; getExtension(currentBar: Bar, barIndex: number): ZigZagPivot | null; private tryFindPivot; private findPivotPoint; private calcDev; private newPivotPointFound; } export declare function calculateZigZag(bars: Bar[], settings?: Partial): ZigZagResult; //# sourceMappingURL=zigzag.d.ts.map