/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { Base, Point_$type, runOn, fromEnum, markType, PointUtil } from "igniteui-angular-core";
import { ISeriesViewerInteractionManager_$type } from "./ISeriesViewerInteractionManager";
import { HighlightingManager } from "./HighlightingManager";
import { Rect } from "igniteui-angular-core";
import { TileZoomManager } from "./TileZoomManager";
import { Size } from "igniteui-angular-core";
import { MathUtil } from "igniteui-angular-core";
import { MouseEventArgs } from "igniteui-angular-core";
import { MouseButtonEventArgs } from "igniteui-angular-core";
import { truncate, intDivide, isNaN_ } from "igniteui-angular-core";
/**
 * @hidden
 */
export class SeriesViewerInteractionManager extends Base {
    constructor() {
        super();
        this.r = 0;
        this.s = 0;
        this.af = null;
        this.o = 0;
        this.p = 0;
        this.n = 0;
        this.q = 0;
        this.h = false;
        this.ag = null;
        this.ai = null;
        this.j = false;
        this.e = null;
        this.b = null;
        this.ah = null;
        this.ak = null;
        this.d = null;
        this.a = null;
        this.g = false;
        this.ah = Rect.empty;
        this.ag = Rect.empty;
    }
    get f$b() {
        if (this.b == null) {
            this.b = new HighlightingManager();
        }
        return this.b;
    }
    f$a(a) {
        if (a.ap != 0) {
            return a.ap;
        }
        let b = 1;
        let c = false;
        let d = false;
        for (let e = 0; e < a.series.count; e++) {
            let f = a.series._inner[e];
            if (f.isStacked) {
                f.h7((g) => {
                    if (g.bc == 2) {
                        c = true;
                    }
                    if (g.bc == 1) {
                        d = true;
                    }
                    return true;
                });
            }
            else {
                if (f.bc == 2) {
                    c = true;
                }
                if (f.bc == 1) {
                    d = true;
                }
            }
        }
        if (d) {
            b = 1;
        }
        if (c) {
            b = 2;
        }
        if (c && d) {
            b = 3;
        }
        return b;
    }
    f$al(a) {
        let b = a.mi;
        let c = b;
        let d = a.bn;
        let e = a.cc();
        let f = a.ce;
        let g = a.da;
        let h = a.df;
        if (!e) {
            c = { $type: Point_$type, x: NaN, y: NaN };
        }
        for (let i = 0; i < a.series.count; i++) {
            let j = a.series._inner[i];
            j.ic(c);
        }
        let k = a.bg == 0 && !a.cq && (a.ch || f) && !g && !h;
        let l = a.m3;
        if (k && !isNaN_(b.x) && !l.isEmpty) {
            let m = l.width * (b.x - a.mq.left) / a.mq.width;
            d.eg(l.left + m, l.top, l.left + m, l.bottom);
            d.d5();
            d.ea(m);
        }
        else {
            d.ce();
        }
        if (k && !isNaN_(b.y) && !l.isEmpty) {
            let n = l.height * (b.y - a.mq.top) / a.mq.height;
            d.d9(l.left, l.top + n, l.right, l.top + n);
            d.d1();
        }
        else {
            d.b9();
        }
    }
    f$ae(a) {
        switch (a.bg) {
            case 0:
                a.bn.dx();
                this.f$al(a);
                a.bn.b6();
                break;
            case 1:
                a.bn.dz();
                a.bn.cd();
                this.f$al(a);
                a.bn.b5();
                break;
            case 2:
                a.bn.dz();
                a.bn.cd();
                this.f$al(a);
                a.bn.b7();
                break;
        }
    }
    f$p(a, b) {
        if (b.x >= 0 && b.y >= 0 && b.x <= a.m3.width && b.y <= a.m3.height) {
            this.ab(a, b);
        }
        else {
            a.hn();
        }
    }
    ab(a, b) {
        let c = a.bn;
        let d = a.m3;
        if (a.cr || a.cq) {
            return;
        }
        if (a.ce && a.ch) {
            let e = d.height > d.width;
            c.bs(e);
            for (let f of fromEnum(a.series)) {
                if (f.isStacked) {
                    f.h7((g) => {
                        if (g._visibility == 0) {
                            g.jj(b, runOn(c, c.bj));
                        }
                        return true;
                    });
                }
                else {
                    if (f._visibility == 0) {
                        f.jj(b, runOn(c, c.bj));
                    }
                }
            }
            c.d2();
        }
    }
    aa(a, b) {
        if (a.ch || a.co) {
            a.ce = true;
            a.i5();
            this.ag = new Rect(0, b.x, b.y, 0, 0);
            this.ai = new Rect(0, b.x, b.y, 0, 0);
            a.bg = 0;
            a.hf(a.mk(b));
        }
    }
    f$ac(a, b) {
        this.aa(a, b);
        this.ab(a, b);
        this.f$al(a);
    }
    f$q(a, b, c) {
        if (!a.ce) {
            this.ad(a, b, c);
        }
    }
    f$o(a, b) {
        this.ah = Rect.empty;
        a.hn();
    }
    f$aj(a) {
        let b = a.bn;
        this.q = 1;
        a.ce = false;
        b.cc();
        b.b8();
        b.ca();
        a.hf({ $type: Point_$type, x: NaN, y: NaN });
        b.b9();
        b.ce();
        b.cd();
        a.bg = 0;
        this.h = true;
        a.da = true;
        a.i6();
    }
    f$ab(a, b) {
        this.f$aj(a);
    }
    f$ak(a, b, c, d, e) {
        this.r = b.x;
        this.s = b.y;
        this.o = c;
        this.p = d;
        this.n = e;
        this.af = a.mq;
        this.f$aj(a);
    }
    f$aa(a, b) {
        let c = a.bn;
        c.b9();
        c.ce();
        if (c.at) {
            this.w(a, b);
        }
        else {
            this.y(a, b);
            this.q = b;
        }
    }
    f$ag(a, b, c, d, e) {
        let f = a.bn;
        f.b9();
        f.ce();
        this.o = this.o * c;
        this.p = this.p * d;
        this.n = this.n * e;
        if (a.cw) {
            this.o = this.n;
            this.p = this.n;
        }
        let g = a.mq;
        let h = a.m3;
        let i = b.x - this.r;
        let j = b.y - this.s;
        this.r = b.x;
        this.s = b.y;
        let k = g.width;
        let l = g.height;
        let m = this.af.width / this.o;
        let n = this.af.height / this.p;
        if (m > 1) {
            m = 1;
        }
        if (n > 1) {
            n = 1;
        }
        let o = { $type: Point_$type, x: b.x, y: b.y };
        let p = { $type: Point_$type, x: (o.x - h.left) / h.width * g.width + g.left, y: (o.y - h.top) / h.height * g.height + g.top };
        let q = new Rect(0, g.left, g.top, m, n);
        let r = { $type: Point_$type, x: (p.x - q.left) / q.width * h.width + h.left, y: (p.y - q.top) / q.height * h.height + h.top };
        let s = (r.x - o.x) - i;
        let t = (r.y - o.y) - j;
        let u = s / h.width * q.width;
        let v = t / h.height * q.height;
        q = new Rect(0, q.left + u, q.top + v, q.width, q.height);
        g = q;
        a.kl(g, true);
    }
    f$x(a, b) {
        this.ag = new Rect(0, b.x, b.y, 0, 0);
        this.ai = new Rect(0, b.x, b.y, 0, 0);
    }
    x(a, b, c) {
        let d = a.mq.width;
        let e = a.mq.height;
        let f = a.mq.left + d / 2;
        let g = a.mq.top + e / 2;
        d = d / b;
        e = e / b;
        let h = f - d / 2;
        let i = g - e / 2;
        a.kl(new Rect(0, h, i, d, e), true);
    }
    f$z(a, b) {
        let c = a.bn;
        if (c.at) {
            this.w(a, b);
        }
        else {
            this.y(a, b);
        }
        this.ag = Rect.empty;
        a.da = false;
    }
    f$r(a, b) {
        a.da = false;
        this.ag = Rect.empty;
        a.hn();
    }
    f$af(a, b, c, d, e) {
        a.da = false;
        this.ag = Rect.empty;
        a.hn();
    }
    w(a, b) {
        let c = a.m4;
        let d = 1 / b;
        let e = { $type: Point_$type, x: c.x + c.width / 2, y: c.y + c.height / 2 };
        let f = { $type: Point_$type, x: c.x - e.x, y: c.y - e.y };
        let g = new Rect(0, f.x * d + e.x, f.y * d + e.y, c.width * d, c.height * d);
        a.kl(g, true);
    }
    y(a, b) {
        let c = a.m3;
        let d = a.m4;
        let e = b - this.q;
        if (e != 0) {
            let f = 0.03;
            let g = e < 0 ? 1 + f : 1 - f;
            let h = { $type: Point_$type, x: d.x + d.width / 2, y: d.y + d.height / 2 };
            let i = { $type: Point_$type, x: d.x - h.x, y: d.y - h.y };
            let j = new Rect(0, i.x * g + h.x, i.y * g + h.y, d.width * g, d.height * g);
            a.kl(j, true);
        }
    }
    f$m(a, b, c) {
        if (!a.da) {
            this.h = false;
        }
        this.ad(a, b, c);
    }
    ad(a, b, c) {
        let d;
        let e = a.bn;
        let f = a.bd(c);
        if (e.eq == 0) {
            switch (f) {
                case 1:
                    d = a.c2() ? f : 0;
                    break;
                default:
                    d = f;
                    break;
            }
        }
        else {
            if (e.eq == a.l0) {
                d = 1;
            }
            else if (e.eq == a.l1) {
                d = 2;
            }
            else {
                d = 0;
            }
        }
        switch (d) {
            case 1:
            case 2:
                a.bn.b3();
                a.bn.di();
                break;
        }
        a.bg = d;
        switch (a.bg) {
            case 1:
                a.hf({ $type: Point_$type, x: NaN, y: NaN });
                this.ag = new Rect(0, b.x, b.y, 0, 0);
                this.ai = new Rect(0, b.x, b.y, 0, 0);
                this.ah = new Rect(0, b.x, b.y, 0, 0);
                e.d0();
                e.d8(this.ag);
                a.jb(Rect.empty, true);
                break;
            case 2:
                this.ag = new Rect(0, b.x, b.y, 0, 0);
                this.ah = new Rect(0, b.x, b.y, 0, 0);
                break;
        }
        this.ak = a.mq;
    }
    f$ai(a) {
        a.j7();
        a.bn.dd();
    }
    f$ah(a) {
        a.hj();
        a.bn.dc();
    }
    f$am(a) {
        if (a.cb && !this.j) {
            this.j = true;
            this.ac(a);
        }
    }
    f$j(a) {
        if (this.j) {
            this.z(a);
            this.j = false;
        }
    }
    f$g(a) {
        if (this.e == null) {
            return;
        }
        this.f.ab();
    }
    get f() {
        return this.e;
    }
    ac(a) {
        if (this.e == null) {
            this.e = new TileZoomManager(a, true, a.e2);
            this.e.h = !a.db;
        }
        a.cn = true;
        a.ja();
        this.e.al();
        a.bn.bo();
        a.bn.bp();
    }
    z(a) {
        if (this.e == null) {
            return;
        }
        a.cn = false;
        a.bn.c8();
        this.e.ah();
        a.jt();
        a.bn.bv();
    }
    f$i(a) {
        a.hd();
        a.jv();
    }
    l(a) {
        return a.bg == 2;
    }
    m(a, b) {
        return a.ba == 1 || b || a.cb;
    }
    k(a) {
        return a.bg == 1;
    }
    f$l(a, b, c) {
        let d = a.bn;
        if (this.ag.isEmpty && c) {
            this.ad(a, b, c);
        }
        let e = 2;
        if (c) {
            e = 10;
        }
        let f = false;
        let g = new Rect(2, { $type: Point_$type, x: this.ag.x, y: this.ag.y }, b);
        let h = new Rect(0, 0, 0, 0, 0);
        if (!this.ah.isEmpty) {
            h = new Rect(2, { $type: Point_$type, x: this.ah.x, y: this.ah.y }, b);
        }
        if (h.width > e && h.height > e) {
            f = true;
        }
        if (!a.da) {
            if (f) {
                this.h = false;
            }
        }
        if (!a.da && (a.ce || !c)) {
            a.hf(a.mk(b));
        }
        if (this.k(a)) {
            if (f) {
                let i = a.m2(g);
                a.jb(i, true);
            }
            else {
                a.jb(Rect.empty, true);
            }
            d.d8(g);
        }
        let j = a.m3;
        let k = a.mq;
        if (this.l(a)) {
            let l = j;
            let m = k.left + k.width * (this.ag.x - b.x) / l.width;
            let n = k.top + k.height * (this.ag.y - b.y) / l.height;
            let o = new Rect(0, m, n, k.width, k.height);
            if (this.m(a, c)) {
                a.i6();
                a.jb(Rect.empty, true);
                a.kl(o, true);
                this.ag = new Rect(3, b, new Size(1, 0, 0));
                this.ai = new Rect(3, b, new Size(1, 0, 0));
            }
            else {
                a.jb(o, true);
            }
        }
        this.ai = new Rect(3, b, new Size(1, 0, 0));
        d.br(b);
    }
    f$k(a, b, c) {
        let d = a.bn;
        let e = 2;
        if (c) {
            e = 10;
        }
        let f = a.m3;
        let g = a.mq;
        if (!this.h) {
            let h = false;
            let i = new Rect(2, { $type: Point_$type, x: this.ag.x, y: this.ag.y }, b);
            if (i.width > e && i.height > e) {
                h = true;
            }
            if (a.bg == 1) {
                d.b8();
                if (h) {
                    a.kl(a.m2(i), true);
                }
            }
            if (a.bg == 2) {
                let j = f;
                let k = g.left + g.width * (this.ag.x - b.x) / j.width;
                let l = g.top + g.height * (this.ag.y - b.y) / j.height;
                a.kl(new Rect(0, k, l, g.width, g.height), true);
            }
        }
        let m = false;
        let n = new Rect(2, { $type: Point_$type, x: this.ah.x, y: this.ah.y }, b);
        if (n.width > e || n.height > e) {
            m = true;
        }
        if (m) {
            a.df = true;
        }
        a.bg = 0;
        a.jb(Rect.empty, true);
        d.bt();
        a.df = false;
        d.b9();
        d.ce();
        if (c) {
            d.cd();
            d.b9();
            d.ce();
            d.ca();
        }
        a.hn();
        a.i5();
    }
    f$ad(a) {
        if (this.f != null) {
            this.f.h = !a.db;
        }
    }
    f$d(a, b) {
        let c = a.bn;
        let d = a.mq;
        if (a.bg == 2 && b == 8) {
            c.bq();
            a.bg = 0;
            a.i5();
            a.jb(Rect.empty, true);
            if (a.ba == 1) {
                a.kl(this.ak, true);
            }
            return true;
        }
        if (a.bg == 1 && b == 8) {
            c.bq();
            a.bg = 0;
            a.i5();
            c.b8();
            a.jb(Rect.empty, true);
            return true;
        }
        let e = Rect.empty;
        let f = false;
        switch (b) {
            case 13:
                f = true;
                e = new Rect(0, 0, 0, 1, 1);
                break;
            case 11:
                f = true;
                e = new Rect(0, d.left - 0.1 * d.width, d.top - 0.1 * d.height, 1.2 * d.width, 1.2 * d.height);
                break;
            case 10:
                f = true;
                e = new Rect(0, d.left + 0.1 * d.width, d.top + 0.1 * d.height, 0.8 * d.width, 0.8 * d.height);
                break;
            case 14:
                f = true;
                e = new Rect(0, d.left - 0.1 * d.width, d.top, d.width, d.height);
                e.x = e.x - Math.min(e.left, 0);
                break;
            case 16:
                f = true;
                e = new Rect(0, d.left + 0.1 * d.width, d.top, d.width, d.height);
                e.x = e.x - Math.max(e.right - 1, 0);
                break;
            case 15:
                f = true;
                e = new Rect(0, d.left, d.top - 0.1 * d.height, d.width, d.height);
                e.y = e.y - Math.min(e.top, 0);
                break;
            case 17:
                f = true;
                e = new Rect(0, d.left, d.top + 0.1 * d.height, d.width, d.height);
                e.y = e.y - Math.max(e.bottom - 1, 0);
                break;
        }
        if (!e.isEmpty && Rect.l_op_Inequality(e, d)) {
            a.kl(e, true);
        }
        return f;
    }
    f$e(a, b, c) {
        let d = a.bn;
        let e = a.mq;
        let f = e.left + e.width * b.x / a.m3.width;
        let g = e.top + e.height * b.y / a.m3.height;
        let h = 1 - MathUtil.b(c, -0.5, 0.5);
        let i = Math.max(0, f - h * (f - e.left));
        let j = Math.min(1, g + h * (e.bottom - g));
        let k = Math.min(1, f + h * (e.right - f));
        let l = Math.max(0, g - h * (g - e.top));
        a.i6();
        this.v(a, 1000);
        a.kl(new Rect(0, i, l, k - i, j - l), true);
        return a.c2();
    }
    v(a, b) {
        a.bn.bw(b);
    }
    f$n(a, b) {
        let c = a.mq;
        let d = c.left + c.width * b.x / a.m3.width;
        let e = c.top + c.height * b.y / a.m3.height;
        let f = 0.7;
        let g = Math.max(0, d - f * (d - c.left));
        let h = Math.min(1, e + f * (c.bottom - e));
        let i = Math.min(1, d + f * (c.right - d));
        let j = Math.max(0, e - f * (e - c.top));
        a.kl(new Rect(0, g, j, i - g, h - j), true);
    }
    f$h(a) {
        this.f.ac();
    }
    aj() {
        return this.ai;
    }
    f$c(a, b, c, d, e, f, g) {
        let h = true;
        let i = false;
        let j = false;
        let k = a;
        if (k.ao == 1) {
            h = false;
            i = true;
        }
        if (k.ao == 3 || k.ao == 4) {
            i = true;
        }
        if (k.ao == 4) {
            j = true;
        }
        let l = truncate(Math.round(d.x));
        let m = truncate(Math.round(d.y));
        f = null;
        let n = -1;
        if (h && c != null) {
            let o = l;
            let p = m;
            if (a.ea != 1) {
                o = truncate(Math.round(d.x * a.ea));
                p = truncate(Math.round(d.y * a.ea));
            }
            let q = c.a(o, p);
            if (q == null || q.length == 0) {
                f = null;
                return {
                    ret: null,
                    p5: f
                };
            }
            if ((q[0] > 0 || q[1] > 0 || q[2] > 0) && q[3] == 255) {
                let num2_ = q[2];
                if (num2_ % 4 != 0) {
                    num2_ = num2_ + (4 - (num2_ % 4));
                }
                let num1_ = q[1];
                if (num1_ % 4 != 0) {
                    num1_ = num1_ + (4 - (num1_ % 4));
                }
                let num0_ = q[0];
                if (num0_ % 4 != 0) {
                    num0_ = num0_ + (4 - (num0_ % 4));
                }
                let num_ = 0;
                num_ = (num2_ >> 2);
                num_ = (num_ << 6);
                num_ = (num_ | (num1_ >> 2));
                num_ = (num_ << 6);
                num_ = (num_ | (num0_ >> 2));
                n = truncate(Math.floor((intDivide(num_, 1000))));
                n--;
            }
        }
        let r = null;
        let s = -1;
        if (n >= 0) {
            let t = false;
            let u = 0;
            for (let v of fromEnum(b)) {
                if (!v.c7) {
                    continue;
                }
                if (t) {
                    break;
                }
                if (v.isStacked) {
                    v.h7((w) => {
                        if (w.fk == n) {
                            r = w;
                            s = u;
                            t = true;
                            return false;
                        }
                        return true;
                    });
                }
                else if (v.fk == n) {
                    r = v;
                    s = u;
                    break;
                }
                u++;
            }
        }
        let w = null;
        if (i) {
            let x = false;
            for (let y = b.count - 1; y >= 0; y--) {
                let z = b._inner[y];
                let aa = z.bi;
                if (!z.dw(aa.br, aa.bs, aa)) {
                    continue;
                }
                if (!x && y < s && h && !j) {
                    if (r != null) {
                        w = r;
                        x = true;
                        break;
                    }
                }
                if (z != null && z.bc == 1) {
                    if (z.dh(d, g)) {
                        w = z;
                        break;
                    }
                }
            }
            if (h && !x) {
                if (r != null) {
                    w = r;
                    x = true;
                }
            }
        }
        else {
            w = r;
        }
        if (w != null) {
            let ab = w.ar({ $type: Point_$type, x: l, y: m }, g);
            if (ab != null) {
                f = ab;
            }
            return {
                ret: w,
                p5: f
            };
        }
        return {
            ret: null,
            p5: f
        };
    }
    f$f(a, b) {
        if (PointUtil.equals(b, null)) {
            return false;
        }
        let c = b.x;
        let d = b.y;
        if (c >= a.m3.left && d >= a.m3.top && c <= a.m3.left + a.m3.width && d <= a.m3.top + a.m3.height) {
            let e = a.bi;
            if (e != null && e.viewShouldInteract(b)) {
                return false;
            }
            return true;
        }
        return false;
    }
    c(a) {
        if (a != null) {
            return a.a6();
        }
        else {
            return null;
        }
    }
    f$v(a, b, c, d, e, f) {
        if (!f && a.ca) {
            this.ae(a, false);
        }
        let g = new MouseEventArgs();
        g.position = d;
        if (a.bg == 2 || a.bg == 1 || a.da || (a.bi != null && a.bi.isPinching)) {
            if (this.d != null) {
                this.d.a0.a$x(this.d, g.position, this.a, g);
                this.d = null;
            }
            return;
        }
        let h = null;
        let i = ((() => { let j = this.f$c(a, b, c, d, !e, h, f); h = j.p5; return j.ret; })());
        this.a = h;
        let j = this.c(i);
        if (i != null) {
            let k = false;
            let l = false;
            if (this.d != i) {
                l = true;
            }
            if (this.d == null || l) {
                k = true;
            }
            if (k) {
                if (l) {
                    if (this.d != null) {
                        j = this.c(this.d);
                        this.d.a0.a$x(this.d, g.position, h, g);
                        if (j != null) {
                            j.a0.a$x(j, g.position, h, g);
                        }
                    }
                }
                this.d = i;
                i.ir(g.position, h, g);
                if (j != null) {
                    j.ir(g.position, h, g);
                }
            }
            else {
                this.d = i;
                i.a0.a$z(i, g.position, h, g);
                if (j != null) {
                    j.a0.a$z(j, g.position, h, g);
                }
            }
        }
        else {
            if (this.d != null) {
                j = this.c(this.d);
                this.d.a0.a$x(this.d, g.position, h, g);
                if (j != null) {
                    j.a0.a$x(j, g.position, h, g);
                }
                this.d = null;
            }
            for (let m = 0; m < a.series.count; m++) {
                let n = a.series._inner[m];
                if (n.a0.a$b) {
                    j = this.c(n);
                    n.a0.a$x(n, g.position, n.a0.a$o, g);
                    if (j != null) {
                        j.a0.a$x(j, g.position, n.a0.a$o, g);
                    }
                }
            }
        }
    }
    f$u(a, b) {
        if (this.d != null) {
            let c = this.c(this.d);
            let d = new MouseEventArgs();
            d.position = b;
            this.d.a0.a$x(this.d, d.position, null, d);
            if (c != null) {
                c.a0.a$x(c, d.position, null, d);
            }
            this.d = null;
        }
        a.im(b);
    }
    f$t(a, b, c) {
        if (this.d != null) {
            let d = new MouseButtonEventArgs();
            d.position = c;
            if (b.ai) {
                this.d.a0.a$aa(this.d, d.position, this.a, d);
            }
            else {
                this.d.a0.a$u(this.d, d.position, this.a, d);
            }
        }
    }
    f$w(a, b, c) {
        let d;
        let e = (this.d != null) ? this.d : ((() => { let f = a.bn.e(c, false, d, false); d = f.p2; return f.ret; })());
        if (e != null) {
            let f = new MouseButtonEventArgs();
            f.position = c;
            if (b.ai) {
                e.a0.a$ab(e, f.position, this.a, f);
            }
            else {
                e.a0.a$y(e, f.position, this.a, f);
            }
        }
    }
    f$s(a, b, c) {
        if (!c && a.c7) {
            this.ae(a, false);
        }
        if (c && !a.c7) {
            this.ae(a, true);
        }
        a.h7(b, c);
    }
    ae(a, b) {
        if (a != null) {
            if (!this.i) {
                a.ca = b;
            }
        }
    }
    f$y(a, b) {
        this.g = true;
    }
    get i() {
        return this.g;
    }
}
SeriesViewerInteractionManager.$t = markType(SeriesViewerInteractionManager, 'SeriesViewerInteractionManager', Base.$, [ISeriesViewerInteractionManager_$type]);
//# sourceMappingURL=SeriesViewerInteractionManager.js.map