import { IgrFinancialIndicator, IIgrFinancialIndicatorProps } from "./igr-financial-indicator";
import { StrategyBasedIndicator } from "./StrategyBasedIndicator";
/**
 * A base class for indicator series with simple calculations that separates the calculation
 * responsibility from the other responsibilities of the financial series, this enables
 * easier unit testing and decoupling of individual calculation strategies.
 * A contract is defined between the financial series and these simple indicator calculations
 * detailing the data which the series agrees to provide the simple indicator calculations,
 * this contract is defined by
 * FinancialCalculationDataSource. If more
 * complex interactions are needed between the indicator calculation and the series, the
 * indicators should instead derive from
 * FinancialIndicator directly, or some
 * derivative other than
 * StrategyBasedIndicator
*/
export declare abstract class IgrStrategyBasedIndicator<P extends IIgrStrategyBasedIndicatorProps = IIgrStrategyBasedIndicatorProps> extends IgrFinancialIndicator<P> {
    /**
                                 * @hidden
                                 */
    get i(): StrategyBasedIndicator;
    constructor(props: P);
}
export interface IIgrStrategyBasedIndicatorProps extends IIgrFinancialIndicatorProps {
}
