import { Control } from "igniteui-angular-core";
import { INotifyPropertyChanged, Base, PropertyChangedEventArgs, Type, Point } from "igniteui-angular-core";
import { DoubleAnimator } from "igniteui-angular-core";
import { LinearGaugeFrame } from "./LinearGaugeFrame";
import { LinearGraphScaler } from "./LinearGraphScaler";
import { LinearScaleOrientation } from "./LinearScaleOrientation";
import { LinearGraphRangeCollection } from "./LinearGraphRangeCollection";
import { BrushCollection } from "igniteui-angular-core";
import { LinearGraphNeedleShape } from "./LinearGraphNeedleShape";
import { Brush } from "igniteui-angular-core";
import { BindingFormatter } from "igniteui-angular-core";
import { HighlightedValueDisplayMode } from "igniteui-angular-core";
import { StackPool$1 } from "igniteui-angular-core";
import { Path } from "igniteui-angular-core";
import { TextBlock } from "igniteui-angular-core";
import { Rect } from "igniteui-angular-core";
import { List$1 } from "igniteui-angular-core";
import { FormatLinearGraphLabelEventArgs } from "./FormatLinearGraphLabelEventArgs";
import { AlignLinearGraphLabelEventArgs } from "./AlignLinearGraphLabelEventArgs";
import { DoubleValueChangedEventArgs } from "igniteui-angular-core";
import { LinearGaugeVisualData } from "./LinearGaugeVisualData";
import { ToolTipInfo } from "./ToolTipInfo";
import { LinearGraphTooltipDataContext } from "./LinearGraphTooltipDataContext";
import { Size } from "igniteui-angular-core";
import { FontInfo } from "igniteui-angular-core";
import { EventProxy } from "igniteui-angular-core";
import { DomRenderer } from "igniteui-angular-core";
/**
 * @hidden
 */
export declare class XamLinearGauge extends Control implements INotifyPropertyChanged {
    static $t: Type;
    private f2;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected f9(a: string): void;
    constructor();
    av: DoubleAnimator;
    private fl;
    get a9(): boolean;
    private b0;
    get dc(): number;
    set dc(a: number);
    private gl;
    private get bl();
    formatLabel: (sender: any, args: FormatLinearGraphLabelEventArgs) => void;
    alignLabel: (sender: any, args: AlignLinearGraphLabelEventArgs) => void;
    valueChanged: (sender: any, e: DoubleValueChangedEventArgs) => void;
    highlightValueChanged: (sender: any, e: DoubleValueChangedEventArgs) => void;
    protected ao: LinearGaugeFrame;
    protected an: LinearGaugeFrame;
    protected am: LinearGaugeFrame;
    protected ar: LinearGraphScaler;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    as: LinearScaleOrientation;
    ranges: LinearGraphRangeCollection;
    ah: BrushCollection;
    ai: BrushCollection;
    ch: number;
    private bx;
    get b3(): number;
    set b3(a: number);
    cg: number;
    private bw;
    get b2(): number;
    set b2(a: number);
    dd: number;
    ap: LinearGraphNeedleShape;
    en: string;
    cx: number;
    c1: number;
    cy: number;
    c3: number;
    co: number;
    cs: number;
    cn: number;
    cr: number;
    cq: number;
    cu: number;
    cp: number;
    ct: number;
    cb: number;
    c8: number;
    c9: number;
    cd: number;
    cc: number;
    ce: number;
    cf: number;
    ci: number;
    da: number;
    c7: number;
    db: number;
    it: Brush;
    il: Brush;
    cm: number;
    ip: Brush;
    iq: Brush;
    cv: number;
    ck: number;
    cj: number;
    cl: number;
    io: Brush;
    bg: boolean;
    ij: Brush;
    ik: Brush;
    b7: number;
    b5: number;
    b6: number;
    c5: number;
    c0: number;
    ir: Brush;
    is: Brush;
    c6: number;
    bi: boolean;
    private a3;
    bf: boolean;
    be: boolean;
    d3: string;
    ag: any[];
    aj: BindingFormatter;
    dh: number;
    b9: number;
    private a2;
    private bv;
    get b1(): number;
    set b1(a: number);
    ca: number;
    go(): void;
    private az;
    get a0(): HighlightedValueDisplayMode;
    set a0(a: HighlightedValueDisplayMode);
    gn(): void;
    a1: HighlightedValueDisplayMode;
    private fr;
    dg: number;
    toolTip: any;
    bm: boolean;
    ds: string;
    a7: StackPool$1<Path>;
    a5: StackPool$1<Path>;
    a4: StackPool$1<TextBlock>;
    a8: StackPool$1<TextBlock>;
    a6: StackPool$1<Path>;
    b8(a: Point): number;
    private bt;
    private ix;
    private bs;
    private iw;
    bj(a: Point): boolean;
    ba(a: Point): boolean;
    needleContainsPoint(a: Point, b: boolean): boolean;
    highlightNeedleContainsPoint(a: Point, b: boolean): boolean;
    protected fp(a: Point, b: boolean): void;
    at(): LinearGaugeVisualData;
    dr(): string;
    fq(): void;
    destroy(): void;
    provideContainer(a: any): void;
    onMouseOver(a: Point, b: boolean, c: boolean): void;
    onMouseLeave(): void;
    onMouseMove(a: Point, b: boolean): void;
    onMouseDown(a: Point, b: boolean): void;
    get bd(): boolean;
    onMouseUp(a: Point): void;
    containerResized(): void;
    gm(): void;
    private gk;
    private ge;
    private _view;
    get view(): XamLinearGaugeView;
    set view(a: XamLinearGaugeView);
    private iz;
    get i2(): Rect;
    set i2(a: Rect);
    private iy;
    get i1(): Rect;
    set i1(a: Rect);
    private iv;
    get i0(): Rect;
    set i0(a: Rect);
    protected bh(): boolean;
    fm(): void;
    private bo;
    private br;
    private bq;
    private bp;
    private f8;
    private i3;
    private f5;
    private bn;
    private f4;
    private f6;
    private f7;
    im(a: number, b: BrushCollection): Brush;
    private gj;
    private gg;
    private gi;
    private gf;
    private bu;
    private gh;
    private f3;
    private fv;
    private cz;
    private c2;
    private de;
    private df;
    private c4;
    private iu;
    private f1;
    private gc;
    private gb;
    private fs;
    protected bc: boolean;
    refresh(): void;
    ay(): FontInfo;
    private bz;
    get cw(): number;
    set cw(a: number);
    private by;
    get b4(): number;
    set b4(a: number);
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class XamLinearGaugeView extends Base {
    static $t: Type;
    private ap;
    private ao;
    constructor(a: XamLinearGauge);
    a3(): void;
    protected m: XamLinearGauge;
    protected i: EventProxy;
    private aj;
    private p;
    ah: DomRenderer;
    private aa;
    private z;
    private y;
    private ab;
    bc(): void;
    private cj;
    private ci;
    private ck;
    private ch;
    s(): boolean;
    cn(): Path;
    cm(): Path;
    co(): Path;
    cl(): Path;
    private ca;
    private cb;
    private b7;
    private b8;
    private cc;
    private cd;
    private ce;
    private b9;
    private c;
    private d;
    private e;
    private f;
    private q;
    private v;
    private a;
    private static w;
    private static g;
    private static h;
    private a1;
    private b0;
    private bz;
    a8(a: string, b: any, c: any): void;
    bd(a: BrushCollection, b: BrushCollection): void;
    be(a: BrushCollection, b: BrushCollection): void;
    b(a: string, b: string[]): string[];
    bv(): void;
    protected u: boolean;
    protected t: boolean;
    private ai;
    protected k: LinearGraphTooltipDataContext;
    private ak;
    private am;
    cg(a: Point): Point;
    private aq;
    private an;
    private cf;
    private al;
    bu(a: Point, b: any, c: number, d: string): void;
    a2(): void;
    private bq;
    private b2;
    private j;
    a9(a: any): void;
    private au;
    private av;
    private aw;
    private ay;
    private ax;
    private at;
    ba(): void;
    as(): void;
    private x;
    bs(a: List$1<Path>): void;
    private bp;
    b1(): void;
    af(a: any): number;
    cr(a: TextBlock): Size;
    private b6;
    bt(a: TextBlock, b: Brush): void;
    bk(a: TextBlock, b: number, c: number): void;
    bj(a: number, b: number): void;
    bl(a: number, b: number): void;
    ae(a: FontInfo): number;
    private r;
    private n;
    private b5;
    private ac;
    private ad;
    br(): void;
    ar(): void;
    flush(): void;
    private o;
    az(a: LinearGaugeVisualData): void;
    a7(): void;
    bb(): void;
    bm(a: Path): void;
    bn(a: Path): void;
    bo(a: Path): void;
    cq(): Path;
    bw(a: TextBlock): void;
    bx(a: TextBlock): void;
    by(a: TextBlock): void;
    b4(): TextBlock;
    bf(a: Path): void;
    bg(a: Path): void;
    bh(a: Path): void;
    cp(): Path;
    a4(a: TextBlock): void;
    a5(a: TextBlock): void;
    a6(a: TextBlock): void;
    b3(): TextBlock;
    l(): ToolTipInfo;
    bi(): void;
}
