import { ColumnSupportingCalculation } from "./igr-column-supporting-calculation";
import { DataSourceSupportingCalculation } from "./igr-data-source-supporting-calculation";
import { FinancialCalculationSupportingCalculations as FinancialCalculationSupportingCalculations_internal } from "./FinancialCalculationSupportingCalculations";
/**
 * Represents a contract between the financial series and the calculation strategies
 * detailing the supporting calculation strategies that the financial series will
 * provide in order for the indicator calculations to be performed.
*/
export declare class FinancialCalculationSupportingCalculations {
    protected createImplementation(): FinancialCalculationSupportingCalculations_internal;
    protected _implementation: any;
    readonly i: FinancialCalculationSupportingCalculations_internal;
    private onImplementationCreated();
    constructor();
    protected _provideImplementation(i: any): void;
    /**
     * The strategy provided to calculate an exponential moving average for a collection.
    */
    eMA: ColumnSupportingCalculation;
    /**
     * The strategy provided to calculate a simple moving average for a collection.
    */
    sMA: ColumnSupportingCalculation;
    /**
     * The strategy provided to calculate a standard deviation for a collection.
    */
    sTDEV: ColumnSupportingCalculation;
    /**
     * The strategy provided to calculate a moving sum for a collection.
    */
    movingSum: ColumnSupportingCalculation;
    /**
     * The strategy provided to calculate the short period moving average for volume oscillator indicators.
    */
    shortVolumeOscillatorAverage: DataSourceSupportingCalculation;
    /**
     * The strategy provided to calculate the long period moving average for volume oscillator indicators.
    */
    longVolumeOscillatorAverage: DataSourceSupportingCalculation;
    /**
     * The strategy provided to calculate the short period moving average for price oscillator indicators.
    */
    shortPriceOscillatorAverage: DataSourceSupportingCalculation;
    /**
     * The strategy provided to calculate the long period moving average for price oscillator indicators.
    */
    longPriceOscillatorAverage: DataSourceSupportingCalculation;
    /**
     * The strategy provided to make doubles safe for plotting, by default will just make zero if the value
     * is invalid.
    */
    makeSafe: (arg1: number) => number;
}
