/// <reference types="react" />
import * as React from 'react';
import { LegendMouseButtonEventArgs } from "./igr-legend-mouse-button-event-args";
import { LegendMouseEventArgs } from "./igr-legend-mouse-event-args";
import { LegendBase } from "./LegendBase";
/**
 * Represents the base class for a legend in IgxDataChartComponent.
*/
export declare abstract class IgrLegendBase<P extends IIgrLegendBaseProps = IIgrLegendBaseProps> extends React.Component<P, {}> {
    protected createImplementation(): LegendBase;
    protected _implementation: any;
    readonly i: LegendBase;
    private onImplementationCreated();
    constructor(props: P);
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    render(): any;
    private _legendItemMouseLeftButtonDown;
    private _legendItemMouseLeftButtonDown_wrapped;
    /**
     * Event raised when the left mouse button is pressed while the mouse pointer is over a legend item
     * in this Legend.
    */
    protected legendItemMouseLeftButtonDown: (s: IgrLegendBase, e: LegendMouseButtonEventArgs) => void;
    private _legendItemMouseLeftButtonUp;
    private _legendItemMouseLeftButtonUp_wrapped;
    /**
     * Event raised when the left mouse button is released while the mouse pointer is over a legend item
     * in this Legend.
    */
    protected legendItemMouseLeftButtonUp: (s: IgrLegendBase, e: LegendMouseButtonEventArgs) => void;
    private _legendItemMouseEnter;
    private _legendItemMouseEnter_wrapped;
    /**
     * Event raised when the mouse pointer enters a legend item of this legend.
    */
    protected legendItemMouseEnter: (s: IgrLegendBase, e: LegendMouseEventArgs) => void;
    private _legendItemMouseLeave;
    private _legendItemMouseLeave_wrapped;
    /**
     * Event raised when the mouse pointer leaves a legend item of this legend.
    */
    protected legendItemMouseLeave: (s: IgrLegendBase, e: LegendMouseEventArgs) => void;
    private _legendItemMouseMove;
    private _legendItemMouseMove_wrapped;
    /**
     * Event raised when the mouse pointer moves over a legend item of this legend.
    */
    protected legendItemMouseMove: (s: IgrLegendBase, e: LegendMouseEventArgs) => void;
}
export interface IIgrLegendBaseProps {
}
