import { PieChartBase } from "./PieChartBase";
import { DependencyProperty } from "igniteui-angular-core";
import { PieChartBaseView } from "./PieChartBaseView";
import { Type, Base, IEnumerable, INotifyPropertyChanged, Point, PropertyChangedEventArgs } from "igniteui-angular-core";
import { Control } from "igniteui-angular-core";
import { SliceClickEventArgs } from "./SliceClickEventArgs";
import { Slice } from "./Slice";
import { List$1 } from "igniteui-angular-core";
import { NotifyCollectionChangedEventArgs } from "igniteui-angular-core";
import { Pool$1 } from "igniteui-angular-core";
import { FastItemsSource } from "igniteui-angular-core";
import { IChartLegend } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { Visibility } from "igniteui-angular-core";
import { OthersCategoryType } from "./OthersCategoryType";
import { BrushCollection } from "igniteui-angular-core";
import { ILegendSeries } from "igniteui-angular-core";
import { ILegendTemplateProvider } from "igniteui-angular-core";
import { LabelsPosition } from "./LabelsPosition";
import { Style } from "igniteui-angular-core";
import { LeaderLineType } from "./LeaderLineType";
import { DataTemplate } from "igniteui-angular-core";
import { Canvas } from "igniteui-angular-core";
import { ILegendOwner } from "igniteui-angular-core";
import { PropertyUpdatedEventArgs } from "igniteui-angular-core";
import { FastItemsSourceEventArgs } from "igniteui-angular-core";
import { FastItemsSourceEventAction } from "igniteui-angular-core";
import { Size } from "igniteui-angular-core";
import { ObservableCollection$1 } from "igniteui-angular-core";
import { DomRenderer } from "igniteui-angular-core";
import { Rect } from "igniteui-angular-core";
import { HoleDimensionsChangedEventArgs } from "./HoleDimensionsChangedEventArgs";
import { DoughnutChartVisualData } from "./DoughnutChartVisualData";
import { FontInfo } from "igniteui-angular-core";
/**
 * @hidden
 */
export declare class Arc extends PieChartBase {
    static $t: Type;
    ar(): PieChartBaseView;
    e6(a: PieChartBaseView): void;
    hc: ArcView;
    constructor();
    private hd;
    he: Ring;
    hb: ArcItem;
    hi: number;
    hg: number;
    readonly hh: number;
    e5(a: any, b: SliceClickEventArgs): void;
    ek(a: Slice, b: boolean): void;
    fk(a: Slice, b: boolean): void;
    hf(a: Slice): SliceItem;
    protected fj(a: NotifyCollectionChangedEventArgs): void;
    e9(): void;
    fg(): void;
    protected fa(a: any, b: string, c: any, d: any): void;
    hj(): any;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class ArcItem extends Base {
    static $t: Type;
    constructor();
    d: Ring;
    b: ArcItem;
    n: string;
    l: number;
    m: number;
    k: number;
    i: number;
    j: number;
    c: OthersCategoryType;
    a: BrushCollection;
    g: List$1<SliceItem>;
    e: SliceItem;
    h: IEnumerable;
    o(a: number, b: number): void;
    private f;
    p(a: number): void;
    q(a: Arc): void;
}
/**
 * @hidden
 */
export declare abstract class RingSeriesBase extends Control implements INotifyPropertyChanged, ILegendSeries, ILegendTemplateProvider {
    static $t: Type;
    private readonly ao;
    constructor();
    at: XamDoughnutChart;
    itemsSource: IEnumerable;
    b9: string;
    bg: string;
    br: string;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected cn(a: string, b: any, c: any): void;
    aj: LabelsPosition;
    dw: Visibility;
    dr: Style;
    ak: LeaderLineType;
    a1: number;
    toolTip: any;
    a2: number;
    al: OthersCategoryType;
    bv: string;
    legend: IChartLegend;
    am: (obj: any) => string;
    an: (obj: any) => string;
    a0: number;
    a4: number;
    ds: Style;
    dt: Style;
    du: Style;
    dv: Style;
    ag: BrushCollection;
    ah: BrushCollection;
    dp: Brush;
    dn: Brush;
    private a7;
    b5: string;
    legendItemTemplate: DataTemplate;
    legendItemBadgeTemplate: DataTemplate;
    static readonly c3: DependencyProperty;
    cr: DataTemplate;
    private aw;
    ax: boolean;
    static readonly cw: DependencyProperty;
    readonly ay: boolean;
    a3: number;
    protected av: boolean;
    protected a5: (sender: any, e: FastItemsSourceEventArgs) => void;
    au: FastItemsSource;
    dq: Point;
    as: RingSeriesBaseView;
    protected cl(a: any, b: string, c: any, d: any): void;
    cq: Canvas;
    readonly container: ILegendOwner;
    readonly isStacked: boolean;
    readonly isVertical: boolean;
    readonly isUsableInLegend: boolean;
    readonly hasMarkers: boolean;
    readonly hasSubItems: boolean;
    protected cc(a: FastItemsSourceEventAction, b: number, c: number, d: string): void;
    ar(): RingSeriesBaseView;
    ci(a: RingSeriesBaseView): void;
    abstract aq(): RingCollection;
    abstract ck(): void;
    abstract cj(): void;
    cm(a: any): void;
    cb(): void;
    abstract cp(): void;
    abstract co(): void;
    cf(a: number, b: any): void;
    ch(a: number, b: any, c: any): void;
    ce(): void;
    cg(a: number, b: any): void;
    private cd;
    resolveLegendIndex(): number;
    forSubItems(a: (arg1: any) => void): void;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class Ring extends Base {
    static $t: Type;
    constructor();
    j: number;
    h: number;
    q: Size;
    p: Point;
    private _ringControl;
    ringControl: RingControl;
    private b;
    c: RingSeriesBase;
    i: number;
    g: List$1<ArcItem>;
    d: XamDoughnutChart;
    e: boolean;
    f(): boolean;
    o(): void;
    l(source_: any, a: number, b: any): void;
    k(source_: any): void;
    m(source_: any, a: number, b: any): void;
    n(source_: any, a: number, b: any, c: any): void;
}
/**
 * @hidden
 */
export declare class RingCollection extends ObservableCollection$1<Ring> {
    static $t: Type;
    constructor();
    protected p(): void;
    protected u(a: number): void;
}
/**
 * @hidden
 */
export declare class RingControl extends Control implements INotifyPropertyChanged {
    static $t: Type;
    constructor();
    readonly al: RingSeriesBase;
    ak: RingControlView;
    private ah;
    ai: Ring;
    arcs: Pool$1<Arc>;
    ao: List$1<ArcItem>;
    a0: Canvas;
    aj(): RingControlView;
    ax(a: RingControlView): void;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected az(a: string, b: any, c: any): void;
    aw(): void;
    an(): boolean;
    ay(a: any): void;
    av(): void;
    ap(): DomRenderer;
    as(source_: any, a: number, b: any): void;
    ar(source_: any): void;
    at(source_: any, a: number, b: any): void;
    au(source_: any, a: number, b: any, c: any): void;
}
/**
 * @hidden
 */
export declare class RingSeriesCollection extends ObservableCollection$1<RingSeriesBase> {
    static $t: Type;
    constructor();
}
/**
 * @hidden
 */
export declare class SliceItem extends Base {
    static $t: Type;
    constructor();
    e: number;
    d: number;
    a: ArcItem;
    f: number;
    b: Slice;
    g: any;
    c: boolean;
}
/**
 * @hidden
 */
export declare class SliceCollection extends ObservableCollection$1<SliceItem> {
    static $t: Type;
    constructor();
    ae: boolean;
    ag: boolean;
    protected r(a: number, b: SliceItem): void;
    protected x(a: number, b: SliceItem): void;
    protected u(a: number): void;
    remove(a: SliceItem): boolean;
    protected p(): void;
    private ah;
}
/**
 * @hidden
 */
export declare class XamDoughnutChart extends Control implements INotifyPropertyChanged, ILegendOwner {
    static $t: Type;
    private al;
    private aj;
    private ap;
    private ao;
    private readonly ah;
    constructor();
    readonly ak: RingCollection;
    aw: boolean;
    ax: boolean;
    av: boolean;
    readonly series: RingSeriesCollection;
    private b6;
    static readonly cc: DependencyProperty;
    a3: number;
    ar: SliceCollection;
    aq: SliceCollection;
    cg: Style;
    a5: any;
    b7: DataTemplate;
    private a0;
    a4: number;
    private az;
    a1: number;
    au: XamDoughnutChartView;
    destroy(): void;
    b5(a: SliceItem, b: boolean): void;
    bj(a: SliceItem, b: boolean): void;
    protected bz(a: any, b: string, c: any, d: any): void;
    at(): XamDoughnutChartView;
    bv(a: XamDoughnutChartView): void;
    b2(): void;
    b4(): void;
    bw(): void;
    b3(): void;
    by(): void;
    bx(): void;
    bt(): void;
    sliceClick: (sender: any, e: SliceClickEventArgs) => void;
    bu(a: any, b: SliceClickEventArgs): void;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    propertyUpdated: (sender: any, e: PropertyUpdatedEventArgs) => void;
    protected b1(a: string, b: any, c: any): void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    provideContainer(a: any): void;
    notifyResized(): void;
    bd(): string;
    cf(): Point;
    a2(): number;
    bk(): void;
    holeDimensionsChanged: (sender: any, e: HoleDimensionsChangedEventArgs) => void;
    bs(): void;
    as(): DoughnutChartVisualData;
    bc(): string;
    private _ay;
    private ay;
    bm(source_: any, a: number, b: any): void;
    bp(source_: any, a: number, b: any, c: any): void;
    bl(source_: any): void;
    bn(source_: any, a: number, b: any): void;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class ArcView extends PieChartBaseView {
    static $t: Type;
    protected b4: Arc;
    constructor(a: Arc);
    b6(a: Ring, b: Ring): void;
    b5(): Slice;
    b7(): void;
}
/**
 * @hidden
 */
export declare class RingControlView extends Base {
    static $t: Type;
    protected b: RingControl;
    constructor(a: RingControl);
    private f;
    private g;
    a(): Arc;
    l(a: Arc): void;
    n(a: Arc): void;
    m(a: Arc): void;
    h(): List$1<Arc>;
    r(): void;
    private aa;
    t(a: Arc, b: number, c: number): void;
    private i;
    w(a: any): void;
    private e;
    private z;
    private k;
    private u;
    private o;
    ab(a: Arc): void;
    d(): boolean;
    q(): void;
    private c;
    s(a: RingSeriesBase): void;
    private y;
    p(): void;
    j(): DomRenderer;
    v(a: number, b: number): void;
    x(): void;
}
/**
 * @hidden
 */
export declare class RingSeriesBaseView extends Base {
    static $t: Type;
    protected c: RingSeriesBase;
    constructor(a: RingSeriesBase);
    k(): void;
    f: List$1<RingControl>;
    h(a: RingControl): void;
    private g;
    j(a: DomRenderer, b: BrushCollection, c: BrushCollection, d: Brush, e: FontInfo): {
        p1: BrushCollection;
        p2: BrushCollection;
        p3: Brush;
        p4: FontInfo;
    };
    private a;
    private b;
    private o;
    private d;
    n(a: any): void;
    e(): boolean;
    i(): void;
    l(): void;
    m(a: number, b: number): void;
}
/**
 * @hidden
 */
export declare class XamDoughnutChartView extends Base {
    static $t: Type;
    protected a: XamDoughnutChart;
    aa: Point;
    d: number;
    constructor(a: XamDoughnutChart);
    s(): void;
    z(): void;
    private c;
    h(a: RingSeriesBase): void;
    w(a: RingSeriesBase): void;
    i(): void;
    ab: Rect;
    y(): void;
    private f;
    private e;
    private b;
    v(a: any): void;
    private t;
    private n;
    private k;
    private l;
    private m;
    g(): string;
    u(a: number, b: number): void;
    x(a: number, b: number): void;
    j(): void;
    o(a: DoughnutChartVisualData): void;
    private p;
    r(): void;
    q(): void;
}
