import { DomRenderer, DomWrapper, Point, Base, Type, EventArgs, INotifyPropertyChanged, IEnumerable, PropertyChangedEventArgs, IList } from "igniteui-react-core/ES2015/type";
import { Rect } from "igniteui-react-core/ES2015/Rect";
import { RenderingContext } from "igniteui-react-core/ES2015/RenderingContext";
import { EventProxy } from "igniteui-react-core/ES2015/EventProxy";
import { FontInfo } from "igniteui-react-core/ES2015/FontInfo";
import { PieChartStyleInfo } from "./PieChartStyleInfo";
import { BrushCollection } from "igniteui-react-core/ES2015/BrushCollection";
import { Brush } from "igniteui-react-core/ES2015/Brush";
import { Path } from "igniteui-react-core/ES2015/Path";
import { PieChartVisualData } from "./PieChartVisualData";
import { Style } from "igniteui-react-core/ES2015/Style";
import { Control } from "igniteui-react-core/ES2015/Control";
import { Line } from "igniteui-react-core/ES2015/Line";
import { LabelsPosition } from "./LabelsPosition";
import { List$1 } from "igniteui-react-core/ES2015/List$1";
import { Visibility } from "igniteui-react-core/ES2015/Visibility";
import { LeaderLineType } from "./LeaderLineType";
import { ILegendOwner } from "igniteui-react-core/ES2015/ILegendOwner";
import { ILegendSeries } from "igniteui-react-core/ES2015/ILegendSeries";
import { ILegendTemplateProvider } from "igniteui-react-core/ES2015/ILegendTemplateProvider";
import { FastItemsSource } from "igniteui-react-core/ES2015/FastItemsSource";
import { DependencyProperty } from "igniteui-react-core/ES2015/DependencyProperty";
import { IFastItemColumn$1 } from "igniteui-react-core/ES2015/IFastItemColumn$1";
import { UIElement } from "igniteui-react-core/ES2015/UIElement";
import { OthersCategoryType } from "./OthersCategoryType";
import { IndexCollection } from "./IndexCollection";
import { NotifyCollectionChangedEventArgs } from "igniteui-react-core/ES2015/NotifyCollectionChangedEventArgs";
import { ObservableCollection$1 } from "igniteui-react-core/ES2015/ObservableCollection$1";
import { IChartLegend } from "igniteui-react-core/ES2015/IChartLegend";
import { SweepDirection } from "igniteui-react-core/ES2015/SweepDirection";
import { DataTemplate } from "igniteui-react-core/ES2015/DataTemplate";
import { SliceSelectionMode } from "./SliceSelectionMode";
import { PropertyUpdatedEventArgs } from "igniteui-react-core/ES2015/PropertyUpdatedEventArgs";
import { Pool$1 } from "igniteui-react-core/ES2015/Pool$1";
import { SelectedItemChangingEventArgs } from "./SelectedItemChangingEventArgs";
import { SelectedItemsChangingEventArgs } from "./SelectedItemsChangingEventArgs";
import { SelectedItemChangedEventArgs } from "./SelectedItemChangedEventArgs";
import { SelectedItemsChangedEventArgs } from "./SelectedItemsChangedEventArgs";
import { FastItemsSourceEventAction } from "igniteui-react-core/ES2015/FastItemsSourceEventAction";
import { DataContext } from "igniteui-react-core/ES2015/DataContext";
import { Size } from "igniteui-react-core/ES2015/Size";
import { ContentControl } from "igniteui-react-core/ES2015/ContentControl";
import { PieSliceVisualData } from "./PieSliceVisualData";
import { MouseEventArgs } from "igniteui-react-core/ES2015/MouseEventArgs";
export declare class PieChartViewManager extends Base {
    o: DomRenderer;
    protected q: DomWrapper;
    protected t: DomWrapper;
    protected s: DomWrapper;
    protected r: DomWrapper;
    private k;
    private j;
    private l;
    protected ao: Rect;
    e: RenderingContext;
    g: RenderingContext;
    f: RenderingContext;
    h: RenderingContext;
    private a;
    constructor(a: PieChartBaseView);
    ab(): void;
    ad(a: number, b: number): void;
    private n;
    aa(): void;
    x(a: number, b: number): void;
    an(): Rect;
    d(): FontInfo;
    am(): Point;
    ag(a: () => void): void;
    b(): PieChartStyleInfo;
    ah(a: Path): void;
    c: EventProxy;
    ac(a: any): void;
    w(a: DomWrapper): void;
    ae(a: boolean): void;
    u(): any;
    y(a: PieChartVisualData): void;
    private _toolTipObject;
    private v;
    private i;
    aj(a: any): void;
    ai(pos_: Point, context_: PieSliceDataContext): void;
    z(a: PieSliceDataContext): void;
    ak(style_: Style): Brush;
    al(style_: Style): Brush;
    m(style_: Style): number;
    af(): void;
    static $t: Type;
}
export declare class LabelClickEventArgs extends EventArgs {
    constructor(a: Slice, b: any);
    private _slice;
    slice: Slice;
    readonly item: any;
    allowSliceClick: boolean;
    private c;
    static $t: Type;
}
export declare class SliceClickEventArgs extends EventArgs {
    constructor(a: Slice, b: any);
    private _slice;
    slice: Slice;
    isSelected: boolean;
    private d;
    isExploded: boolean;
    private c;
    readonly isOthersSlice: boolean;
    readonly dataContext: any;
    private _originalEvent;
    originalEvent: any;
    static $t: Type;
}
export declare class PieLabel extends Control {
    constructor();
    ah: Slice;
    ao: Rect;
    ai: number;
    aj: any;
    ap: Line;
    aq: Path;
    ag: LabelsPosition;
    ak(a: PieChartBaseView): void;
    al(): void;
    am(): void;
    an(): void;
    static $t: Type;
}
export declare abstract class PieChartBase extends Control implements INotifyPropertyChanged, ILegendOwner, ILegendSeries, ILegendTemplateProvider {
    ar(): PieChartBaseView;
    e4(a: PieChartBaseView): void;
    as: PieChartBaseView;
    constructor();
    private bh;
    private bk;
    private bj;
    private bl;
    private bi;
    private bo;
    private bn;
    private bm;
    private readonly aw;
    private readonly b5;
    private readonly b7;
    private readonly b6;
    private readonly b8;
    private cv;
    a5: FastItemsSource;
    private a9;
    be: IFastItemColumn$1<number>;
    cx: number;
    cp: number;
    cu: number;
    b2: List$1<number>;
    b1: List$1<number>;
    b0: List$1<any>;
    cf: number;
    bz: List$1<UIElement>;
    readonly cc: number;
    av: PieChartSliceSelector;
    itemsSource: IEnumerable;
    static readonly f0: DependencyProperty;
    cl: number;
    eg: string;
    di: string;
    dv: string;
    private a7;
    ba: IFastItemColumn$1<any>;
    private a8;
    bb: IFastItemColumn$1<any>;
    ao: LabelsPosition;
    gw: Brush;
    gv: Brush;
    g8: Visibility;
    g4: Style;
    ap: LeaderLineType;
    cn: number;
    c0: any;
    co: number;
    aq: OthersCategoryType;
    dz: string;
    cg: number;
    readonly cb: number;
    cr: number;
    readonly ce: number;
    bq: boolean;
    bp: boolean;
    al: IndexCollection;
    private aj;
    ai: IChartLegend;
    cm: number;
    ct: number;
    gx: SweepDirection;
    am: IndexCollection;
    private ak;
    g5: Style;
    g6: Style;
    g7: Style;
    ag: BrushCollection;
    ah: BrushCollection;
    legendItemTemplate: DataTemplate;
    legendItemBadgeTemplate: DataTemplate;
    static readonly f8: DependencyProperty;
    fs: DataTemplate;
    bv: boolean;
    protected bs(): boolean;
    protected bt(): boolean;
    at: (obj: any) => string;
    au: (obj: any) => string;
    private ca;
    cq: number;
    private b9;
    cd: number;
    a3: SliceSelectionMode;
    selectedItem: any;
    static readonly gn: DependencyProperty;
    private _selectedItems;
    selectedItems: ObservableCollection$1<any>;
    labelClick: (sender: any, e: LabelClickEventArgs) => void;
    ew(a: any, b: LabelClickEventArgs): void;
    selectedItemChanging: (sender: any, e: SelectedItemChangingEventArgs) => void;
    ey(a: any, b: SelectedItemChangingEventArgs): void;
    selectedItemsChanging: (sender: any, e: SelectedItemsChangingEventArgs) => void;
    e1(a: any, b: SelectedItemsChangingEventArgs): void;
    selectedItemChanged: (sender: any, e: SelectedItemChangedEventArgs) => void;
    ex(a: any, b: SelectedItemChangedEventArgs): void;
    selectedItemsChanged: (sender: any, e: SelectedItemsChangedEventArgs) => void;
    ez(a: any, b: SelectedItemsChangedEventArgs): void;
    sliceClick: (sender: any, e: SliceClickEventArgs) => void;
    e3(a: any, b: SliceClickEventArgs): void;
    bg: Pool$1<Slice>;
    bf: Pool$1<PieLabel>;
    ek(a: Slice, b: boolean): void;
    fi(a: Slice, b: boolean): void;
    fj(a: Slice): void;
    cy(a: Slice): any;
    g2(a: Slice, b: LabelsPosition): Rect;
    br(a: PieLabel, b: Point): boolean;
    static cs(a: number): number;
    private bu(a);
    private static ch(a, b, c, d);
    static fo(a: List$1<PieLabel>): void;
    fg(a: List$1<PieLabel>): void;
    protected ei(a: FastItemsSourceEventAction, b: number, c: number, d: string): void;
    fc(): void;
    e5(): void;
    e7(): void;
    e6(): void;
    g3: Rect;
    ff(): void;
    fd(): void;
    private static ci(a, b, c);
    private static gy(a, b);
    private static cj(a, b);
    private static gz(a);
    fe(): void;
    a4(): PieChartVisualData;
    c8(): string;
    protected bc(a: string): IFastItemColumn$1<number>;
    protected bd(a: string): IFastItemColumn$1<any>;
    protected e8(a: any, b: string, c: any, d: any): void;
    protected fh(a: NotifyCollectionChangedEventArgs): void;
    protected e0(a: NotifyCollectionChangedEventArgs): void;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected fa(a: string, b: any, c: any): void;
    private fr();
    private fq();
    fm(a: Slice, b: MouseEventArgs): void;
    fn(a: Slice, b: MouseEventArgs, c: boolean): void;
    fl(a: Point): void;
    bw(a: Slice, b: MouseEventArgs): boolean;
    em(a: any, b: any): void;
    ep(a: any, b: any, c: boolean): void;
    eo(a: any, b: any): void;
    en(a: any, b: MouseEventArgs): void;
    e2(): void;
    provideContainer(a: any): void;
    ev(a: number, b: number): void;
    notifyContainerResized(): void;
    g1(): Rect;
    g0(): Point;
    destroy(): void;
    el(): void;
    private c1;
    eb: string;
    readonly container: ILegendOwner;
    readonly isStacked: boolean;
    readonly isVertical: boolean;
    readonly hasMarkers: boolean;
    readonly isUsableInLegend: boolean;
    readonly hasSubItems: boolean;
    ck(a: Slice): number;
    eu(source_: any, a: number, b: any, c: any): void;
    eq(source_: any): void;
    private bx(a);
    static by(a: any, b: any): boolean;
    es(source_: any, a: number, b: any): void;
    et(source_: any, a: number, b: any): void;
    fk(source_: any): void;
    fb(): void;
    fp(): void;
    a6(): FontInfo;
    resolveLegendIndex(): number;
    forSubItems(a: (arg1: any) => void): void;
    static $$p: string[];
    static $t: Type;
}
export declare class PieChartSliceSelector extends Base {
    private a;
    constructor(a: PieChartBase);
    d(a: Slice): boolean;
    c(a: Slice): boolean;
    h(a: Slice): any;
    f(a: any, b: boolean): boolean;
    e(a: any): boolean;
    g(a: any): boolean;
    b(a: any): boolean;
    k(a: Slice): void;
    i(a: Slice): void;
    j(a: Slice): void;
    static $t: Type;
}
export declare class PieSliceOthersContext extends Base {
    private _data;
    data: IList;
    private _slice;
    slice: Slice;
    static $t: Type;
}
export declare class Slice extends ContentControl {
    ak(): SliceView;
    bl(a: SliceView): void;
    al: SliceView;
    constructor();
    a3: number;
    ax: number;
    a1: number;
    a0: number;
    static readonly bv: DependencyProperty;
    isSelected: boolean;
    static readonly bt: DependencyProperty;
    isExploded: boolean;
    static readonly bu: DependencyProperty;
    isOthersSlice: boolean;
    b7: Point;
    b5: Point;
    a2: number;
    ay: number;
    a5: number;
    b2: Brush;
    static readonly bp: DependencyProperty;
    a4: number;
    b8: Rect;
    ai: PieChartBase;
    aj: PieLabel;
    bf: string;
    b9: Rect;
    b3: Point;
    aq: boolean;
    au: boolean;
    av: boolean;
    ac(): void;
    az(): number;
    private cb();
    b6(): Point;
    private an;
    aw: boolean;
    bk(): void;
    ap(a: Point): boolean;
    private ao(a);
    private ca(a, b, c, d, e, f, g);
    am(): PieSliceVisualData;
    private static b4(a, b, c, d, e);
    b0: Brush;
    b1: Brush;
    static $$p: string[];
    static $t: Type;
}
export declare class PieChartBaseView extends Base {
    constructor(a: PieChartBase);
    a: PieChartBase;
    az(): void;
    a9(): void;
    bq: Brush;
    b: PieChartStyleInfo;
    protected h: RenderingContext;
    protected j: RenderingContext;
    protected i: RenderingContext;
    protected k: RenderingContext;
    c: PieChartViewManager;
    ax(a: any): void;
    by(): Rect;
    bv(): Point;
    a8(): void;
    b0: Rect;
    private l;
    protected av(): void;
    private bg();
    private bx;
    protected a3(): void;
    protected a4(): void;
    private a6(a);
    private a7();
    private a5();
    private m(a, b, c);
    aj(a: Point, b: boolean, c: boolean): void;
    ai(a: Point): void;
    ah(a: Point): void;
    ak(a: Point): void;
    private ap(a);
    protected f: Slice;
    private bh(a);
    n(a: Point): boolean;
    p(a: Point): boolean;
    o(a: Point): boolean;
    private bb();
    al(): void;
    bl(a: any, b: any): void;
    protected u: List$1<Slice>;
    g(): Slice;
    bc(a: Slice): void;
    be(a: Slice): void;
    bd(a: Slice): void;
    protected t: List$1<PieLabel>;
    d(): PieLabel;
    ar(a: PieLabel): void;
    at(a: PieLabel): void;
    as(a: PieLabel): void;
    bj(a: PieLabel): void;
    ba(a: Slice): void;
    private bt(a);
    private bu(a);
    ad(a: Slice): any;
    y(a: any): number;
    bi(): void;
    v: number;
    x(a: any): number;
    bz(a: PieLabel): Rect;
    b1(): Size;
    bk(a: PieLabel, b: number, c: number): void;
    bn(a: any): void;
    bp(): void;
    au(): void;
    private am();
    ay(a: number, b: number): void;
    aw(): void;
    protected bw: Point;
    protected ag: any;
    protected s: boolean;
    protected e: PieSliceDataContext;
    readonly af: any;
    aq(): void;
    bo(a: any): void;
    bm(a: Point, b: any, c: any): void;
    bf(): void;
    a0(): void;
    ac(): any;
    ao(): void;
    r(): boolean;
    an(a: PieChartVisualData): void;
    q(): boolean;
    a2(): void;
    br(a: Slice): Brush;
    bs(a: Slice): Brush;
    w(a: Slice): number;
    z(a: Style): number;
    aa(): number;
    a1(): void;
    ae(a: any): any;
    static $t: Type;
}
export declare class PieSliceDataContext extends DataContext {
    private _slice;
    slice: Slice;
    private _percentValue;
    percentValue: number;
    private _isOthersSlice;
    isOthersSlice: boolean;
    flatten(): any;
    static $t: Type;
}
export declare class SliceView extends Base {
    protected a: Slice;
    constructor(a: Slice);
    g: Path;
    b(): void;
    c(): void;
    f(): Path;
    d(a: number, b: number): void;
    e(): void;
    static $t: Type;
}
