import { Base, DomWrapper, DomRenderer, NormalizedEvent, Type, INotifyPropertyChanged, PropertyChangedEventArgs } from "igniteui-react-core/ES2015/type";
import { Dictionary$2 } from "igniteui-react-core/ES2015/Dictionary$2";
import { RenderingContext } from "igniteui-react-core/ES2015/RenderingContext";
import { ContentControl } from "igniteui-react-core/ES2015/ContentControl";
import { ILegendContext } from "igniteui-react-core/ES2015/ILegendContext";
import { Size } from "igniteui-react-core/ES2015/Size";
import { Polygon } from "igniteui-react-core/ES2015/Polygon";
import { GradientData } from "./GradientData";
import { Rect } from "igniteui-react-core/ES2015/Rect";
import { List$1 } from "igniteui-react-core/ES2015/List$1";
import { IChartLegend } from "igniteui-react-core/ES2015/IChartLegend";
import { ObservableCollection$1 } from "igniteui-react-core/ES2015/ObservableCollection$1";
import { UIElement } from "igniteui-react-core/ES2015/UIElement";
import { ILegendOwner } from "igniteui-react-core/ES2015/ILegendOwner";
import { ILegendSeries } from "igniteui-react-core/ES2015/ILegendSeries";
import { PropertyUpdatedEventArgs } from "igniteui-react-core/ES2015/PropertyUpdatedEventArgs";
import { LegendMouseButtonEventArgs } from "./LegendMouseButtonEventArgs";
import { LegendMouseEventArgs } from "./LegendMouseEventArgs";
import { LegendVisualData } from "./LegendVisualData";
import { RectData } from "igniteui-react-core/ES2015/RectData";
import { ColorData } from "igniteui-react-core/ES2015/ColorData";
/**
 * @hidden
 */
export declare class LegendBaseViewManager extends Base {
    static $t: Type;
    private a;
    constructor(a: LegendBaseView);
    private g;
    private q;
    t(a: any): void;
    protected j(): DomWrapper;
    m: DomWrapper;
    h: DomRenderer;
    protected d: boolean;
    protected i(): DomWrapper;
    k(a: any): DomWrapper;
    protected l(a: any, b: DomWrapper): DomWrapper;
    protected f: Dictionary$2<any, DomWrapper>;
    p(a: any, b: number): void;
    v(a: number): void;
    w(a: any): void;
    o(visual_: any): any;
    e(a: ILegendContext): boolean;
    protected n: DomWrapper;
    protected c: RenderingContext;
    b(a: any): RenderingContext;
    aa(): Size;
    x(a: RenderingContext, b: Polygon, c: GradientData, d: Rect): void;
    r(): void;
    s(): void;
    u(a: boolean): void;
    y(a: string): void;
    z(a: string): void;
}
/**
 * @hidden
 */
export declare abstract class LegendBase extends ContentControl implements INotifyPropertyChanged, IChartLegend {
    static $t: Type;
    aj(): LegendBaseView;
    a6(a: LegendBaseView): void;
    ak: LegendBaseView;
    constructor();
    addChildInOrder(a: UIElement, b: ILegendSeries): void;
    a0(a: List$1<UIElement>, b: ILegendSeries): void;
    at: ObservableCollection$1<UIElement>;
    private _seriesOwner;
    seriesOwner: ILegendOwner;
    private _chartOwner;
    chartOwner: ILegendOwner;
    protected get_isItemwise(): boolean;
    readonly isItemwise: boolean;
    protected get_isScale(): boolean;
    readonly isScale: boolean;
    clearLegendItemsForSeries(a: ILegendSeries): void;
    containsChild(a: UIElement): boolean;
    removeChild(a: UIElement): void;
    readonly ai: ILegendOwner;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected a7(a: string, b: any, c: any): void;
    legendItemMouseLeftButtonDown: (sender: any, e: LegendMouseButtonEventArgs) => void;
    a3(a: LegendMouseButtonEventArgs): void;
    legendItemMouseLeftButtonUp: (sender: any, e: LegendMouseButtonEventArgs) => void;
    a4(a: LegendMouseButtonEventArgs): void;
    legendItemMouseEnter: (sender: any, e: LegendMouseEventArgs) => void;
    a1(a: LegendMouseEventArgs): void;
    legendItemMouseLeave: (sender: any, e: LegendMouseEventArgs) => void;
    a2(a: LegendMouseEventArgs): void;
    legendItemMouseMove: (sender: any, e: LegendMouseEventArgs) => void;
    a5(a: LegendMouseEventArgs): void;
    provideContainer(a: any): void;
    aw: string;
    ax: string;
    av: string;
    ay: string;
    exportVisualData(): LegendVisualData;
    exportSerializedVisualData(): string;
    protected get_isFinancial(): boolean;
    readonly isFinancial: boolean;
}
/**
 * @hidden
 */
export declare class LegendBaseView extends Base {
    static $t: Type;
    constructor(a: LegendBase);
    c: LegendBaseViewManager;
    b: LegendBase;
    ai(): void;
    protected get_j(): boolean;
    readonly j: boolean;
    protected d(a: any): LegendMouseButtonEventArgs;
    protected e(a: any): LegendMouseEventArgs;
    aa(a: any, b: ILegendOwner, c: ILegendSeries, d: any): {
        p1: ILegendOwner;
        p2: ILegendSeries;
        p3: any;
    };
    z(): void;
    m(): boolean;
    y(a: UIElement): void;
    ak(a: UIElement): void;
    ah(a: any): void;
    al(a: any): void;
    x(a: any): void;
    af(): void;
    ag(): void;
    s: string;
    t: string;
    r: string;
    u: string;
    private l;
    private i;
    k: boolean;
    private p;
    v: string;
    private q;
    w: string;
    aj(): void;
    private n;
    private o;
    ad(a: NormalizedEvent): void;
    ac(a: NormalizedEvent): void;
    ab(a: NormalizedEvent): void;
    ae(a: NormalizedEvent): void;
    h(a: DomWrapper): RectData;
    g(a: DomWrapper): RectData;
    a(a: number): ColorData;
    f(): LegendVisualData;
}
