import { Control } from "igniteui-angular-core";
import { INotifyPropertyChanged, Base, PropertyChangedEventArgs, Type, Point } from "igniteui-angular-core";
import { DoubleAnimator } from "igniteui-angular-core";
import { BrushCollection } from "igniteui-angular-core";
import { DependencyProperty } from "igniteui-angular-core";
import { HighlightedValueDisplayMode } from "igniteui-angular-core";
import { SweepDirection } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { RadialGaugeNeedleShape } from "./RadialGaugeNeedleShape";
import { RadialGaugePivotShape } from "./RadialGaugePivotShape";
import { RadialGaugeScaleOversweepShape } from "./RadialGaugeScaleOversweepShape";
import { RadialGaugeBackingShape } from "./RadialGaugeBackingShape";
import { RadialGaugeRangeCollection } from "./RadialGaugeRangeCollection";
import { RadialGaugeDuplicateLabelOmissionStrategy } from "./RadialGaugeDuplicateLabelOmissionStrategy";
import { NeedleBeingDragged } from "igniteui-angular-core";
import { BindingFormatter } from "igniteui-angular-core";
import { RadialGaugeScaler } from "./RadialGaugeScaler";
import { Rect } from "igniteui-angular-core";
import { RadialGaugeFrame } from "./RadialGaugeFrame";
import { StackPool$1 } from "igniteui-angular-core";
import { Path } from "igniteui-angular-core";
import { TextBlock } from "igniteui-angular-core";
import { FontInfo } from "igniteui-angular-core";
import { AlignRadialGaugeLabelEventArgs } from "./AlignRadialGaugeLabelEventArgs";
import { FormatRadialGaugeLabelEventArgs } from "./FormatRadialGaugeLabelEventArgs";
import { Size } from "igniteui-angular-core";
import { List$1 } from "igniteui-angular-core";
import { DoubleValueChangedEventArgs } from "igniteui-angular-core";
import { GaugeVisualData } from "./GaugeVisualData";
import { DomRenderer } from "igniteui-angular-core";
/**
 * @hidden
 */
export declare class XamRadialGauge extends Control implements INotifyPropertyChanged {
    static $t: Type;
    private iz;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected i5(a: string): void;
    private static bh;
    static bn(): FontInfo;
    private static bi;
    static bo(): FontInfo;
    private static bg;
    static bm(): FontInfo;
    alignTitle: (sender: any, args: AlignRadialGaugeLabelEventArgs) => void;
    alignSubtitle: (sender: any, args: AlignRadialGaugeLabelEventArgs) => void;
    alignHighlightLabel: (sender: any, args: AlignRadialGaugeLabelEventArgs) => void;
    formatTitle: (sender: any, args: FormatRadialGaugeLabelEventArgs) => void;
    formatSubtitle: (sender: any, args: FormatRadialGaugeLabelEventArgs) => void;
    formatHighlightLabel: (sender: any, args: FormatRadialGaugeLabelEventArgs) => void;
    av(a: number, b: number, c: string, d: boolean, e: BindingFormatter, f: (sender: any, args: FormatRadialGaugeLabelEventArgs) => void): FormatRadialGaugeLabelEventArgs;
    aq(a: number, b: Brush, c: FontInfo, d: FormatRadialGaugeLabelEventArgs, e: (sender: any, args: AlignRadialGaugeLabelEventArgs) => void, f: (arg1: TextBlock, arg2: FontInfo) => Size): AlignRadialGaugeLabelEventArgs;
    constructor();
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    e2(a: number): number;
    fe(a: number): number;
    dn(a: Point): number;
    mk(a: number, b: number): Point;
    private l7;
    private _view;
    get view(): XamRadialGaugeView;
    set view(a: XamRadialGaugeView);
    private il;
    bc: DoubleAnimator;
    ak: BrushCollection;
    al: BrushCollection;
    dz: number;
    private c4;
    get da(): number;
    set da(a: number);
    dx: number;
    private c3;
    get c9(): number;
    set c9(a: number);
    dt: number;
    dl: number;
    dm: number;
    ff: number;
    dr: number;
    private bw;
    private c2;
    get c8(): number;
    set c8(a: number);
    get ds(): number;
    set ds(a: number);
    static readonly j3: DependencyProperty;
    jg(): void;
    private bt;
    get bu(): HighlightedValueDisplayMode;
    set bu(a: HighlightedValueDisplayMode);
    jf(): void;
    bv: HighlightedValueDisplayMode;
    private is;
    ez: number;
    eu: number;
    mi: SweepDirection;
    fg: number;
    bf: (time: number) => number;
    ma: Brush;
    mb: Brush;
    ei: number;
    ea: number;
    a5: RadialGaugeNeedleShape;
    get ej(): number;
    set ej(a: number);
    static readonly k1: DependencyProperty;
    eb: number;
    d9: number;
    d8: number;
    eh: number;
    eg: number;
    ef: number;
    ec: number;
    a6: RadialGaugePivotShape;
    e0: number;
    mc: Brush;
    md: Brush;
    ek: number;
    static readonly el: number;
    ed: number;
    static readonly ee: number;
    ev: number;
    du: number;
    dw: number;
    e7: number;
    e5: number;
    static readonly fa: number;
    e9: number;
    mg: Brush;
    l6: Brush;
    d4: number;
    d2: number;
    static readonly d7: number;
    d6: number;
    l9: Brush;
    d1: number;
    me: Brush;
    l4: Brush;
    l5: Brush;
    dj: number;
    static readonly dk: number;
    dg: number;
    di: number;
    ex: number;
    a8: RadialGaugeScaleOversweepShape;
    dc: number;
    de: number;
    a0: RadialGaugeBackingShape;
    ranges: RadialGaugeRangeCollection;
    ep: number;
    a1: RadialGaugeDuplicateLabelOmissionStrategy;
    bx: NeedleBeingDragged;
    cf: boolean;
    ce: boolean;
    cd: boolean;
    cc: boolean;
    fv: string;
    formatLabel: (sender: any, args: FormatRadialGaugeLabelEventArgs) => void;
    gi: string;
    ah: any[];
    am: BindingFormatter;
    alignLabel: (sender: any, args: AlignRadialGaugeLabelEventArgs) => void;
    valueChanged: (sender: any, e: DoubleValueChangedEventArgs) => void;
    highlightValueChanged: (sender: any, e: DoubleValueChangedEventArgs) => void;
    protected cb: boolean;
    protected a9: RadialGaugeScaler;
    refresh(): void;
    private iy;
    je(): void;
    private i8;
    private i7;
    private mn;
    private ml;
    get mm(): Rect;
    set mm(a: Rect);
    private i0;
    protected cg(): boolean;
    im(): void;
    private jd;
    private get cl();
    private ja;
    private cw;
    private cx;
    private cu;
    private cv;
    ch(a: Point): boolean;
    needleContainsPoint(a: Point, b: boolean): boolean;
    b9(a: Point): boolean;
    highlightNeedleContainsPoint(a: Point, b: boolean): boolean;
    private cj;
    private jb;
    private mj;
    private er;
    private i2;
    private i3;
    protected a4: RadialGaugeFrame;
    protected a3: RadialGaugeFrame;
    protected a2: RadialGaugeFrame;
    private cz;
    private c0;
    private c1;
    private cy;
    private ct;
    private cs;
    private cr;
    private jc;
    private cq;
    private es;
    private eq;
    private et;
    private i4;
    private i1;
    get b5(): boolean;
    private c7;
    get fd(): number;
    set fd(a: number);
    b3: StackPool$1<Path>;
    b0: StackPool$1<Path>;
    bz: StackPool$1<TextBlock>;
    b2: StackPool$1<TextBlock>;
    b4: StackPool$1<TextBlock>;
    by: StackPool$1<TextBlock>;
    b1: StackPool$1<Path>;
    protected iq(a: Point, b: boolean): void;
    destroy(): void;
    provideContainer(a: any): void;
    onMouseMove(a: Point, b: boolean): void;
    onMouseDown(a: Point, b?: boolean): void;
    onMouseUp(a: Point): void;
    containerResized(): void;
    ir(): void;
    ba(): GaugeVisualData;
    fu(): string;
    bp(): FontInfo;
    private c6;
    get eo(): number;
    set eo(a: number);
    private c5;
    get db(): number;
    set db(a: number);
    em: number;
    ck: boolean;
    en: number;
    id: string;
    hy: string;
    fb: number;
    e3: number;
    fc: number;
    e4: number;
    mh: Brush;
    mf: Brush;
    co: boolean;
    cm: boolean;
    cp: boolean;
    cn: boolean;
    hu: string;
    ao: BindingFormatter;
    ai: any[];
    h9: string;
    ap: BindingFormatter;
    aj: any[];
    f6: string;
    dp: number;
    dq: number;
    l8: Brush;
    b7: boolean;
    b8: boolean;
    f2: string;
    an: BindingFormatter;
    ag: any[];
    private bj;
    get bq(): FontInfo;
    set bq(a: FontInfo);
    private b6;
    private bk;
    get br(): FontInfo;
    set br(a: FontInfo);
    private bl;
    get bs(): FontInfo;
    set bs(a: FontInfo);
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class XamRadialGaugeView extends Base {
    static $t: Type;
    constructor(a: XamRadialGauge);
    protected h: XamRadialGauge;
    ar(a: TextBlock): void;
    as(a: TextBlock): void;
    at(a: TextBlock): void;
    bm(): TextBlock;
    bh(a: TextBlock): void;
    bo(): TextBlock;
    bg(a: TextBlock): void;
    bn(): TextBlock;
    ap(a: TextBlock): void;
    bl(): TextBlock;
    a2(a: Path): void;
    a3(a: Path): void;
    a4(a: Path): void;
    ce(): Path;
    a7(a: Path): void;
    a8(a: Path): void;
    a9(a: Path): void;
    cf(): Path;
    private s;
    private r;
    private q;
    private v;
    private u;
    private t;
    private b4;
    private b3;
    private b6;
    private b2;
    private b5;
    private b7;
    n(): boolean;
    ca(): Path;
    b9(): Path;
    cc(): Path;
    z(a: any, b: FontInfo): number;
    ch(a: TextBlock, b: FontInfo): Size;
    cj(a: TextBlock, b: FontInfo): Size;
    ci(a: TextBlock, b: FontInfo): Size;
    cg(a: TextBlock, b: FontInfo): Size;
    private o;
    private a;
    private ao;
    au(): void;
    ay(): void;
    private c;
    private d;
    private bj;
    private bi;
    b(a: string, b: string[]): string[];
    static ab(a: string, b: number): number;
    private l;
    az(): void;
    aq(): void;
    private m;
    bb(): void;
    ag(): void;
    flush(): void;
    a6(a: TextBlock, b: number, c: number): void;
    private g;
    private ad;
    private k;
    ac: DomRenderer;
    private i;
    private bp;
    aw(a: any): void;
    private aj;
    private ak;
    private al;
    private ai;
    bd(a: TextBlock, b: Brush): void;
    be(a: TextBlock, b: FontInfo): void;
    bf(): void;
    bk(): void;
    ah(): void;
    private bq;
    private ba;
    private w;
    y(a: FontInfo): number;
    private p;
    bc(a: List$1<Path>): void;
    b8(): Path;
    cd(): Path;
    cb(): Path;
    private af;
    private ae;
    ax(): void;
    private j;
    am(a: GaugeVisualData): void;
    private bu;
    private bv;
    private bw;
    private bx;
    private br;
    private bs;
    private by;
    private b0;
    private bt;
    private bz;
    private b1;
    av(a: string, b: any, c: any): void;
    private e;
    private f;
    private x;
    a0(a: BrushCollection, b: BrushCollection): void;
    a1(a: BrushCollection, b: BrushCollection): void;
    a5(): void;
}
