import * as React from 'react';
import { IgPoint } from "igniteui-react-core/ES2015/IgPoint";
import { StackedSeriesBase } from "./StackedSeriesBase";
import { StackedSeriesCreatedEventArgs } from './igr-stacked-series-created-event-args';
import { IgrCategorySeries } from './igr-category-series';
import { ReactRenderer } from "igniteui-react-core/ES2015/react-renderer";
import { IgrStackedFragmentSeries } from './igr-stacked-fragment-series';
import { StackedSeriesCollection } from './igr-stacked-series-collection';
/**
 * Represents a base class for stacked series.
*/
export declare abstract class IgrStackedSeriesBase<P extends IIgrStackedSeriesBaseProps = IIgrStackedSeriesBaseProps> extends IgrCategorySeries<P> {
    protected createImplementation(): StackedSeriesBase;
    protected _implementation: any;
    readonly i: StackedSeriesBase;
    constructor(props: P);
    protected initializeProperties(): void;
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    render(): React.DetailedReactHTMLElement<{
        children: any[];
    }, HTMLElement>;
    static _createFromInternal(internal: any): IgrStackedSeriesBase;
    private _updateContentChildren;
    private _contentChildrenManager;
    /**
     * The series actually present in the chart. Do not directly modify this array.
     * This array's contents can be modified by causing React to reproject the child content.
     * Or adding and removing series from the manual series collection on the series property.
     */
    actualSeries: IgrStackedFragmentSeries[];
    contentSeries: IgrStackedFragmentSeries[];
    private _series;
    private _seriesAdapter;
    /**
     * A collection or manually added series for the chart.
    */
    readonly series: StackedSeriesCollection;
    protected _provideRenderer(renderer: ReactRenderer): void;
    /**
 * Gets or sets whether series should be automatically generated. Reqiures the use of GroupBy as the ItemsSource.
*/
    autoGenerateSeries: boolean;
    /**
     * Gets or sets whether the order of the fragment series should be reversed in the legend.
    */
    reverseLegendOrder: boolean;
    /**
     * Checks if this series is a stacked series
    */
    readonly isStacked: boolean;
    /**
 * Simulates a pointer hover over the series surface.

* @param point  * The pointer position relative to the series viewport over which to hover.
*/
    simulateHover(point: IgPoint): void;
    /**
     * Scrolls the series to display the item for the specified data item.
     * The series is scrolled by the minimum amount required to place the specified data item within
     * the central 80% of the visible axis.
    
    * @param item  * The data item (item) to scroll to.
    */
    scrollIntoView(item: any): boolean;
    private _seriesCreated;
    private _seriesCreated_wrapped;
    /**
     * Event raised when a new fragment series is automatically generated.
    */
    seriesCreated: (s: IgrStackedSeriesBase, e: StackedSeriesCreatedEventArgs) => void;
}
export interface IIgrStackedSeriesBaseProps {
    /**
     * Sets or gets a required unique name for the series.
     * */
    name: string;
    /**
 * Gets or sets whether series should be automatically generated. Reqiures the use of GroupBy as the ItemsSource.
*/
    autoGenerateSeries?: boolean | string;
    /**
     * Gets or sets whether the order of the fragment series should be reversed in the legend.
    */
    reverseLegendOrder?: boolean | string;
    /**
 * Event raised when a new fragment series is automatically generated.
*/
    seriesCreated?: (s: IgrStackedSeriesBase, e: StackedSeriesCreatedEventArgs) => void;
}
