import type { Bar } from '../types'; export type SeriesExtractor = (bar: Bar, index: number, data: Bar[]) => number; export declare class BarData { private _bars; private _version; constructor(bars?: Bar[]); get version(): number; get bars(): Bar[]; get length(): number; push(bar: Bar): void; pop(): Bar | undefined; set(index: number, bar: Bar): void; updateLast(bar: Bar): void; setAll(bars: Bar[]): void; invalidate(): void; at(index: number): Bar | undefined; static from(bars: Bar[]): BarData; } export declare class Series { private extractor; private dataSource; private cached; private cachedVersion; constructor(data: Bar[] | BarData, extractor: SeriesExtractor); get bars(): Bar[]; get barData(): BarData; static fromBars(bars: Bar[] | BarData, field: 'open' | 'high' | 'low' | 'close' | 'volume'): Series; static constant(bars: Bar[] | BarData, value: number): Series; static fromArray(bars: Bar[] | BarData, values: number[]): Series; add(other: Series | number): Series; sub(other: Series | number): Series; mul(other: Series | number): Series; div(other: Series | number): Series; mod(other: Series | number): Series; neg(): Series; gt(other: Series | number): Series; gte(other: Series | number): Series; lt(other: Series | number): Series; lte(other: Series | number): Series; eq(other: Series | number): Series; neq(other: Series | number): Series; and(other: Series | number): Series; or(other: Series | number): Series; not(): Series; iff(trueValue: Series | number, falseValue: Series | number): Series; offset(offset: number): Series; toArray(): number[]; materialize(): Series; _invalidate(): void; _compute(): number[]; get(index: number): number; last(): number; length(): number; toTimeValuePairs(): Array<{ time: any; value: number; }>; } //# sourceMappingURL=series.d.ts.map