import { IgxColumnSupportingCalculation } from "./igx-column-supporting-calculation";
import { IgxDataSourceSupportingCalculation } from "./igx-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 IgxFinancialCalculationSupportingCalculations {
    protected createImplementation(): FinancialCalculationSupportingCalculations_internal;
    protected _implementation: any;
    /**
     * @hidden
     */
    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: IgxColumnSupportingCalculation;
    /**
     * The strategy provided to calculate a simple moving average for a collection.
    */
    sMA: IgxColumnSupportingCalculation;
    /**
     * The strategy provided to calculate a standard deviation for a collection.
    */
    sTDEV: IgxColumnSupportingCalculation;
    /**
     * The strategy provided to calculate a moving sum for a collection.
    */
    movingSum: IgxColumnSupportingCalculation;
    /**
     * The strategy provided to calculate the short period moving average for volume oscillator indicators.
    */
    shortVolumeOscillatorAverage: IgxDataSourceSupportingCalculation;
    /**
     * The strategy provided to calculate the long period moving average for volume oscillator indicators.
    */
    longVolumeOscillatorAverage: IgxDataSourceSupportingCalculation;
    /**
     * The strategy provided to calculate the short period moving average for price oscillator indicators.
    */
    shortPriceOscillatorAverage: IgxDataSourceSupportingCalculation;
    /**
     * The strategy provided to calculate the long period moving average for price oscillator indicators.
    */
    longPriceOscillatorAverage: IgxDataSourceSupportingCalculation;
    /**
     * The strategy provided to make doubles safe for plotting, by default will just make zero if the value
     * is invalid.
    */
    makeSafe: (arg1: number) => number;
}
