import { Type, EventEmitter } from '@angular/core';
import { IgxStrategyBasedIndicatorComponent } from './igx-strategy-based-indicator-component';
import { IgxFinancialSeriesComponent } from './igx-financial-series-component';
import { IgxSeriesComponent } from './igx-series-component';
import { CustomIndicator } from "./CustomIndicator";
import { FinancialEventArgs } from "./igx-financial-event-args";
export declare const IgxCustomIndicatorComponent_PROVIDERS: ({
    provide: typeof IgxFinancialSeriesComponent;
    useExisting: Type<any>;
} | {
    provide: typeof IgxSeriesComponent;
    useExisting: Type<any>;
})[];
/**
 * Represents a IgxDataChartComponent Custom Indicator series.
 * The indicator value is calculated in the user specified Indicator event handler.
*
* `IgxCustomIndicatorComponent` class specify the series as Custom Indicator series.
*
* ```html
* <igx-data-chart [dataSource]="data">
*   <igx-category-x-axis #xAxis
*     label="time">
*   </igx-category-x-axis>
*   <igx-numeric-y-axis #yAxis>
*   </igx-numeric-y-axis>
*   <igx-commodity-channel-index-indicator
*     [xAxis]="xAxis"
*     [yAxis]="yAxis"
*     openMemberPath="open"
*     highMemberPath="high"
*     lowMemberPath="low"
*     closeMemberPath="close"
*     volumeMemberPath="volume" >
*   </igx-commodity-channel-index-indicator>
* </igx-data-chart>
* ```
*
* ```ts
* let series = new IgxCustomIndicatorComponent();
* series.xAxis = this.xAxis;
* series.yAxis = this.yAxis;
* series.openMemberPath = "open";
* series.highMemberPath = "high";
* series.lowMemberPath = "low";
* series.closeMemberPath = "close";
* this.chart.series.add(series);
* ```
*/
export declare class IgxCustomIndicatorComponent extends IgxStrategyBasedIndicatorComponent {
    protected createImplementation(): CustomIndicator;
    readonly i: CustomIndicator;
    constructor();
    private _indicator;
    /**
     * This event is raised when the indicator values need to be computed.
    */
    readonly indicator: EventEmitter<{
        sender: any;
        args: FinancialEventArgs;
    }>;
    private _basedOnColumns;
    /**
     * This event is raised when the based on columns to be specified.
    */
    readonly basedOnColumns: EventEmitter<{
        sender: any;
        args: FinancialEventArgs;
    }>;
}
