import type { Big, BigSource } from './index.js'; export interface Indicator { getResult(): Result; isStable: boolean; update(input: Input): void | Result; } export interface IndicatorSeries extends Indicator { highest?: Result; lowest?: Result; } export declare abstract class BigIndicatorSeries implements IndicatorSeries { protected previousHighest?: Big; highest?: Big; protected previousLowest?: Big; lowest?: Big; protected previousResult?: Big; protected result?: Big; get isStable(): boolean; getResult(): Big; protected setResult(value: Big, replace: boolean): Big; abstract update(input: Input, replace?: boolean): void | Big; replace(input: Input): void | Big.Big; } export declare abstract class NumberIndicatorSeries implements IndicatorSeries { protected previousHighest?: number; highest?: number; protected previousLowest?: number; lowest?: number; protected previousResult?: number; protected result?: number; get isStable(): boolean; getResult(): number; protected setResult(value: number, replace: boolean): number; abstract update(input: Input, replace?: boolean): void | number; replace(input: Input): number | void; }