import { Base, Point, Type, EventArgs, INotifyPropertyChanged, IEnumerable, IList, PropertyChangedEventArgs } from "igniteui-react-core";
import { DomRenderer, DomWrapper } from "igniteui-react-core";
import { Rect } from "igniteui-react-core";
import { RenderingContext } from "igniteui-react-core";
import { EventProxy } from "igniteui-react-core";
import { FontInfo } from "igniteui-react-core";
import { PieChartStyleInfo } from "./PieChartStyleInfo";
import { BrushCollection } from "igniteui-react-core";
import { Brush } from "igniteui-react-core";
import { Path } from "igniteui-react-core";
import { PieChartVisualData } from "./PieChartVisualData";
import { Style } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { Control } from "igniteui-react-core";
import { Line } from "igniteui-react-core";
import { LabelsPosition } from "./LabelsPosition";
import { Visibility } from "igniteui-react-core";
import { LeaderLineType } from "./LeaderLineType";
import { ILegendOwner } from "igniteui-react-core";
import { ILegendSeries } from "igniteui-react-core";
import { ILegendTemplateProvider } from "igniteui-react-core";
import { FastItemsSource } from "igniteui-react-core";
import { DependencyProperty } from "igniteui-react-core";
import { IFastItemColumn$1 } from "igniteui-react-core";
import { UIElement } from "igniteui-react-core";
import { OthersCategoryType } from "igniteui-react-core";
import { IndexCollection } from "./IndexCollection";
import { NotifyCollectionChangedEventArgs } from "igniteui-react-core";
import { IChartLegend } from "igniteui-react-core";
import { SweepDirection } from "igniteui-react-core";
import { DataTemplate } from "igniteui-react-core";
import { LegendEmptyValuesMode } from "igniteui-react-core";
import { SliceSelectionMode } from "./SliceSelectionMode";
import { ObjectCollection } from "igniteui-react-core";
import { BindingFormatter } from "igniteui-react-core";
import { PropertyUpdatedEventArgs } from "igniteui-react-core";
import { Pool$1 } from "igniteui-react-core";
import { SelectedItemChangingEventArgs } from "./SelectedItemChangingEventArgs";
import { SelectedItemsChangingEventArgs } from "./SelectedItemsChangingEventArgs";
import { SelectedItemChangedEventArgs } from "./SelectedItemChangedEventArgs";
import { SelectedItemsChangedEventArgs } from "./SelectedItemsChangedEventArgs";
import { FastItemsSourceEventAction } from "igniteui-react-core";
import { DataContext } from "igniteui-react-core";
import { Size } from "igniteui-react-core";
import { ContentControl } from "igniteui-react-core";
import { PieSliceVisualData } from "./PieSliceVisualData";
import { MouseEventArgs } from "igniteui-react-core";
/**
 * @hidden
 */
export declare class PieChartViewManager extends Base {
    static $t: Type;
    n: DomRenderer;
    protected p: DomWrapper;
    protected s: DomWrapper;
    protected r: DomWrapper;
    protected q: DomWrapper;
    private k;
    private j;
    private l;
    protected as: Rect;
    e: RenderingContext;
    g: RenderingContext;
    f: RenderingContext;
    h: RenderingContext;
    private a;
    constructor(a: PieChartBaseView);
    ac(): void;
    af(a: number, b: number): void;
    ag(): void;
    ad(): void;
    ab(): void;
    y(a: number, b: number): void;
    ar(): Rect;
    private u;
    private t;
    private ak;
    d(): FontInfo;
    aq(): Point;
    aj(a: () => void): void;
    b(): PieChartStyleInfo;
    al(a: Path): void;
    c: EventProxy;
    ae(a: any): void;
    x(a: DomWrapper): void;
    ah(a: boolean): void;
    v(): any;
    z(a: PieChartVisualData): void;
    private _toolTipObject;
    private w;
    private i;
    an(a: any): void;
    am(pos_: Point, context_: PieSliceDataContext): void;
    aa(a: PieSliceDataContext): void;
    ao(style_: Style): Brush;
    ap(style_: Style): Brush;
    m(style_: Style): number;
    ai(): void;
}
/**
 * @hidden
 */
export declare class LabelClickEventArgs extends EventArgs {
    static $t: Type;
    constructor(a: Slice, b: any);
    private _slice;
    get slice(): Slice;
    set slice(a: Slice);
    get item(): any;
    get allowSliceClick(): boolean;
    set allowSliceClick(a: boolean);
    private c;
}
/**
 * @hidden
 */
export declare class SliceClickEventArgs extends EventArgs {
    static $t: Type;
    constructor(a: Slice, b: any);
    private _slice;
    get slice(): Slice;
    set slice(a: Slice);
    get isSelected(): boolean;
    set isSelected(a: boolean);
    private d;
    get isExploded(): boolean;
    set isExploded(a: boolean);
    private c;
    get isOthersSlice(): boolean;
    get index(): number;
    get dataContext(): any;
    private _originalEvent;
    get originalEvent(): any;
    set originalEvent(a: any);
    get origin(): Point;
    get radius(): number;
    get bounds(): Rect;
    get startAngle(): number;
    get endAngle(): number;
    get fill(): Brush;
    get outline(): Brush;
}
/**
 * @hidden
 */
export declare class SliceEventArgs extends EventArgs {
    static $t: Type;
    constructor(a: Slice, b: any);
    private _slice;
    get slice(): Slice;
    set slice(a: Slice);
    get isSelected(): boolean;
    set isSelected(a: boolean);
    private d;
    get isExploded(): boolean;
    set isExploded(a: boolean);
    private c;
    get isOthersSlice(): boolean;
    get index(): number;
    get origin(): Point;
    get radius(): number;
    get bounds(): Rect;
    get startAngle(): number;
    get endAngle(): number;
    get fill(): Brush;
    get outline(): Brush;
    get dataContext(): any;
    private _position;
    get position(): Point;
    set position(a: Point);
    private _originalEvent;
    get originalEvent(): any;
    set originalEvent(a: any);
}
/**
 * @hidden
 */
export declare class PieLabel extends Control {
    static $t: Type;
    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;
}
/**
 * @hidden
 */
export declare abstract class PieChartBase extends Control implements INotifyPropertyChanged, ILegendOwner, ILegendSeries, ILegendTemplateProvider {
    static $t: Type;
    a3(): PieChartBaseView;
    go(a: PieChartBaseView): void;
    a4: PieChartBaseView;
    get isFragment(): boolean;
    get isLayer(): boolean;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    f0(): void;
    constructor();
    private b0;
    private b3;
    private b2;
    private b4;
    private b1;
    private b7;
    private b6;
    private b5;
    private readonly a8;
    private readonly cu;
    private readonly cw;
    private readonly cv;
    private readonly cx;
    private dk;
    bm: FastItemsSource;
    private bq;
    get bv(): IFastItemColumn$1<number>;
    set bv(a: IFastItemColumn$1<number>);
    dm: number;
    de: number;
    dj: number;
    co: List$1<number>;
    cn: List$1<number>;
    cm: List$1<any>;
    c4: number;
    cl: List$1<UIElement>;
    get c1(): number;
    a7: PieChartSliceSelector;
    private _xsr;
    private get XSRP();
    get d9(): string;
    itemsSource: IEnumerable;
    actualItemsSource: IEnumerable;
    static readonly hp: DependencyProperty;
    get da(): number;
    set da(a: number);
    fv: string;
    ej: string;
    ez: string;
    private bo;
    get br(): IFastItemColumn$1<any>;
    set br(a: IFastItemColumn$1<any>);
    private bp;
    get bs(): IFastItemColumn$1<any>;
    set bs(a: IFastItemColumn$1<any>);
    az: LabelsPosition;
    i1: Brush;
    i0: Brush;
    iz: Brush;
    iy: Brush;
    je: Visibility;
    ja: Style;
    a0: LeaderLineType;
    dc: number;
    dr: any;
    dd: number;
    a2: OthersCategoryType;
    e6: string;
    c5: number;
    get c0(): number;
    dg: number;
    get c3(): number;
    b9: boolean;
    b8: boolean;
    get explodedSlices(): IndexCollection;
    set explodedSlices(a: IndexCollection);
    private au;
    legend: IChartLegend;
    db: number;
    di: number;
    i3: SweepDirection;
    get selectedSlices(): IndexCollection;
    set selectedSlices(a: IndexCollection);
    private av;
    jb: Style;
    jc: Style;
    jd: Style;
    am: BrushCollection;
    ak: BrushCollection;
    an: BrushCollection;
    al: BrushCollection;
    ef: string;
    ag: any[];
    fa: string;
    aj: any[];
    ew: string;
    ah: any[];
    e1: string;
    ai: any[];
    legendItemTemplate: DataTemplate;
    legendItemBadgeTemplate: DataTemplate;
    static readonly h0: DependencyProperty;
    get hc(): DataTemplate;
    set hc(a: DataTemplate);
    ce: boolean;
    cf: boolean;
    ch: boolean;
    ci: boolean;
    a1: LegendEmptyValuesMode;
    protected cb(): boolean;
    protected cc(): boolean;
    a5: (obj: any) => string;
    a6: (obj: any) => string;
    private cz;
    get df(): number;
    set df(a: number);
    private cy;
    get c2(): number;
    set c2(a: number);
    bk: SliceSelectionMode;
    get selectedItem(): any;
    set selectedItem(a: any);
    static readonly io: DependencyProperty;
    private _selectedItems;
    get selectedItems(): ObjectCollection;
    set selectedItems(a: ObjectCollection);
    labelClick: (sender: any, e: LabelClickEventArgs) => void;
    gd(a: any, b: LabelClickEventArgs): void;
    selectedItemChanging: (sender: any, e: SelectedItemChangingEventArgs) => void;
    gf(a: any, b: SelectedItemChangingEventArgs): void;
    selectedItemsChanging: (sender: any, e: SelectedItemsChangingEventArgs) => void;
    gi(a: any, b: SelectedItemsChangingEventArgs): void;
    selectedItemChanged: (sender: any, e: SelectedItemChangedEventArgs) => void;
    ge(a: any, b: SelectedItemChangedEventArgs): void;
    selectedItemsChanged: (sender: any, e: SelectedItemsChangedEventArgs) => void;
    gg(a: any, b: SelectedItemsChangedEventArgs): void;
    sliceClick: (sender: any, e: SliceClickEventArgs) => void;
    gk(a: any, b: SliceClickEventArgs): void;
    bx: Pool$1<Slice>;
    bw: Pool$1<PieLabel>;
    fz(a: Slice, b: boolean): void;
    g2(a: Slice, b: boolean): void;
    g3(a: Slice): void;
    dp(a: Slice): any;
    i8(a: Slice, b: LabelsPosition): Rect;
    ca(a: PieLabel, b: Point): boolean;
    static dh(a: number): number;
    private cd;
    private static c6;
    static g8(a: List$1<PieLabel>): void;
    g0(a: List$1<PieLabel>): void;
    protected fx(a: FastItemsSourceEventAction, b: number, c: number, d: string): void;
    gw(): void;
    gp(): void;
    gr(): void;
    private fh;
    gq(): void;
    i9: Rect;
    gz(): void;
    gx(): void;
    private static c7;
    private static i4;
    private static c8;
    private static i5;
    gy(): void;
    bl(): PieChartVisualData;
    d4(): string;
    protected bt(a: string): IFastItemColumn$1<number>;
    protected bu(a: string): IFastItemColumn$1<any>;
    ap: BindingFormatter;
    as: BindingFormatter;
    aq: BindingFormatter;
    ar: BindingFormatter;
    protected gs(a: any, b: string, c: any, d: any): void;
    protected ao(a: BrushCollection): BrushCollection;
    protected i2(a: Brush): Brush;
    private fg;
    private fi;
    private cp;
    protected cs(): IEnumerable;
    protected g1(a: NotifyCollectionChangedEventArgs): void;
    protected gh(a: NotifyCollectionChangedEventArgs): void;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected gu(a: string, b: any, c: any): void;
    private hb;
    private ha;
    g6(a: Slice, b: MouseEventArgs): void;
    g7(a: Slice, b: MouseEventArgs, c: boolean): void;
    g5(a: Point): void;
    cg(a: Slice, b: MouseEventArgs): boolean;
    private dn;
    f1(a: any, b: any): void;
    sliceEnter: (sender: any, e: SliceEventArgs) => void;
    sliceLeave: (sender: any, e: SliceEventArgs) => void;
    sliceHover: (sender: any, e: SliceEventArgs) => void;
    private bf;
    private bg;
    private gl;
    private gm;
    private gn;
    f4(a: any, b: MouseEventArgs, c: boolean): void;
    f3(a: any, b: MouseEventArgs): void;
    f2(a: any, b: MouseEventArgs): void;
    gj(): void;
    provideContainer(a: any): void;
    gb(a: number, b: number): void;
    notifyContainerResized(): void;
    i7(): Rect;
    i6(): Point;
    destroy(): void;
    private ds;
    get fq(): string;
    set fq(a: string);
    get container(): ILegendOwner;
    get isStacked(): boolean;
    get isVertical(): boolean;
    get hasMarkers(): boolean;
    get isUsableInLegend(): boolean;
    get hasSubItems(): boolean;
    c9(a: Slice): number;
    f9(source_: any, a: number, b: any, c: any): void;
    f5(source_: any): void;
    private cj;
    static ck(a: any, b: any): boolean;
    f7(source_: any, a: number, b: any): void;
    f8(source_: any, a: number, b: any): void;
    g4(source_: any): void;
    gv(): void;
    g9(): void;
    bn(): FontInfo;
    resolveLegendIndex(): number;
    forSubItems(a: (arg1: any) => void): void;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class PieChartSliceSelector extends Base {
    static $t: Type;
    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;
}
/**
 * @hidden
 */
export declare class PieSliceOthersContext extends Base {
    static $t: Type;
    private _data;
    get data(): IList;
    set data(a: IList);
    private _slice;
    get slice(): Slice;
    set slice(a: Slice);
}
/**
 * @hidden
 */
export declare class Slice extends ContentControl {
    static $t: Type;
    ak(): SliceView;
    bl(a: SliceView): void;
    al: SliceView;
    constructor();
    a3: number;
    ax: number;
    a1: number;
    a0: number;
    static readonly bv: DependencyProperty;
    get isSelected(): boolean;
    set isSelected(a: boolean);
    static readonly bt: DependencyProperty;
    get isExploded(): boolean;
    set isExploded(a: boolean);
    static readonly bu: DependencyProperty;
    get isOthersSlice(): boolean;
    set isOthersSlice(a: boolean);
    b7: Point;
    b5: Point;
    a2: number;
    ay: number;
    a5: number;
    get b2(): Brush;
    set b2(a: 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;
    get aw(): boolean;
    set aw(a: boolean);
    bk(): void;
    ap(a: Point): boolean;
    private ao;
    private ca;
    am(): PieSliceVisualData;
    private static b4;
    cc: Rect;
    b0: Brush;
    b1: Brush;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class PieChartBaseView extends Base {
    static $t: Type;
    constructor(a: PieChartBase);
    a: PieChartBase;
    a2(): void;
    bc(): void;
    ay(): void;
    a1(): void;
    bt: Brush;
    b: PieChartStyleInfo;
    protected h: RenderingContext;
    j: RenderingContext;
    protected i: RenderingContext;
    protected k: RenderingContext;
    c: PieChartViewManager;
    az(a: any): void;
    b2(): Rect;
    bz(): Point;
    bb(): void;
    b4: Rect;
    private l;
    aw(): void;
    private bj;
    private b1;
    protected a6(): void;
    protected a7(): void;
    private a9;
    private ba;
    private a8;
    private n;
    ak(a: Point, b: boolean, c: boolean): void;
    aj(a: Point): void;
    private by;
    private m;
    ai(a: Point): void;
    al(a: Point): void;
    private aq;
    protected f: Slice;
    private bk;
    o(a: Point): boolean;
    q(a: Point): boolean;
    p(a: Point): boolean;
    private be;
    am(): void;
    bo(a: any, b: any): void;
    protected v: List$1<Slice>;
    g(): Slice;
    bf(a: Slice): void;
    bh(a: Slice): void;
    bg(a: Slice): void;
    protected u: List$1<PieLabel>;
    d(): PieLabel;
    as(a: PieLabel): void;
    au(a: PieLabel): void;
    at(a: PieLabel): void;
    bm(a: PieLabel): void;
    bd(a: Slice): void;
    private bw;
    private bx;
    ae(a: Slice): any;
    z(a: any): number;
    bl(): void;
    w: number;
    y(a: any): number;
    b3(a: PieLabel): Rect;
    b5(): Size;
    bn(a: PieLabel, b: number, c: number): void;
    bq(a: any): void;
    bs(): void;
    av(): void;
    private an;
    a0(a: number, b: number): void;
    ax(): void;
    protected b0: Point;
    protected ah: any;
    protected t: boolean;
    protected e: PieSliceDataContext;
    get ag(): any;
    ar(): void;
    br(a: any): void;
    bp(a: Point, b: any, c: any): void;
    bi(): void;
    a3(): void;
    ad(): any;
    ap(): void;
    s(): boolean;
    ao(a: PieChartVisualData): void;
    r(): boolean;
    a5(): void;
    bu(a: Slice): Brush;
    bv(a: Slice): Brush;
    x(a: Slice): number;
    aa(a: Style): number;
    ab(): number;
    a4(): void;
    af(a: any): any;
}
/**
 * @hidden
 */
export declare class PieSliceDataContext extends DataContext {
    static $t: Type;
    private _slice;
    get slice(): Slice;
    set slice(a: Slice);
    private _percentValue;
    get percentValue(): number;
    set percentValue(a: number);
    private _isOthersSlice;
    get isOthersSlice(): boolean;
    set isOthersSlice(a: boolean);
    flatten(): any;
}
/**
 * @hidden
 */
export declare class SliceView extends Base {
    static $t: Type;
    protected a: Slice;
    constructor(a: Slice);
    g: Path;
    b(): void;
    c(): void;
    f(): Path;
    d(a: number, b: number): void;
    e(): void;
}
