import * as React from 'react';
import { LegendBase } from './LegendBase';
import { LegendMouseButtonEventArgs } from "igniteui-react-charts/ES5/igr-legend-mouse-button-event-args";
import { LegendMouseEventArgs } from "igniteui-react-charts/ES5/igr-legend-mouse-event-args";
export declare const LegendBaseStyles: string[];
/**
 * Represents the base class for a legend in IgxDataChartComponent.
*/
export declare abstract class IgrLegendBase<P extends IIgrLegendBaseProps = IIgrLegendBaseProps> extends React.Component<P, {}> {
    protected _zoneRunner: (act: () => void) => void;
    protected _implementation: any;
    readonly i: LegendBase;
    private onImplementationCreated;
    constructor(props: P);
    protected abstract createImplementation(): any;
    private _hasUserValues;
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    render(): any;
    /**
 * Gets if the legend is item-wise.
*/
    readonly isItemwise: boolean;
    /**
     * Gets if the legend is a financial legend.
    */
    readonly isFinancial: boolean;
}
export interface IIgrLegendBaseProps {
    /**
 * Event raised when the left mouse button is pressed while the mouse pointer is over a legend item
 * in this Legend.
*/
    legendItemMouseLeftButtonDown?: (s: IgrLegendBase, e: LegendMouseButtonEventArgs) => void;
    /**
     * Event raised when the left mouse button is released while the mouse pointer is over a legend item
     * in this Legend.
    */
    legendItemMouseLeftButtonUp?: (s: IgrLegendBase, e: LegendMouseButtonEventArgs) => void;
    /**
     * Event raised when the mouse pointer enters a legend item of this legend.
    */
    legendItemMouseEnter?: (s: IgrLegendBase, e: LegendMouseEventArgs) => void;
    /**
     * Event raised when the mouse pointer leaves a legend item of this legend.
    */
    legendItemMouseLeave?: (s: IgrLegendBase, e: LegendMouseEventArgs) => void;
    /**
     * Event raised when the mouse pointer moves over a legend item of this legend.
    */
    legendItemMouseMove?: (s: IgrLegendBase, e: LegendMouseEventArgs) => void;
}
