/*
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 { ColumnSortDescription } from "./ColumnSortDescription";
import { markType } from "igniteui-webcomponents-core";
import { BindingFormatter } from "igniteui-webcomponents-core";
import { FormatGroupTextEventArgs } from "./FormatGroupTextEventArgs";
/**
 * @hidden
 */
export let ColumnGroupDescription = /*@__PURE__*/ (() => {
    class ColumnGroupDescription extends ColumnSortDescription {
        constructor(a, ..._rest) {
            a = (a == void 0) ? 0 : a;
            switch (a) {
                case 0:
                    {
                        super(0);
                        this.t = null;
                        this.h = null;
                        this.r = null;
                        this.g = null;
                        this.p = null;
                        this.s = null;
                        this.o = false;
                        this.m = 0;
                        this.l = null;
                        this.k = null;
                        this.formatText = null;
                        this.o = false;
                        this.m = 11;
                    }
                    break;
                case 1:
                    {
                        let c = _rest[0];
                        super(1, c);
                        this.t = null;
                        this.h = null;
                        this.r = null;
                        this.g = null;
                        this.p = null;
                        this.s = null;
                        this.o = false;
                        this.m = 0;
                        this.l = null;
                        this.k = null;
                        this.formatText = null;
                        this.o = false;
                        this.m = 11;
                    }
                    break;
                case 2:
                    {
                        let c = _rest[0];
                        let d = _rest[1];
                        super(2, c, d);
                        this.t = null;
                        this.h = null;
                        this.r = null;
                        this.g = null;
                        this.p = null;
                        this.s = null;
                        this.o = false;
                        this.m = 0;
                        this.l = null;
                        this.k = null;
                        this.formatText = null;
                        this.o = false;
                        this.m = 11;
                    }
                    break;
            }
        }
        get x() {
            return this.t;
        }
        set x(a) {
            this.t = a;
            this.y();
        }
        get j() {
            return this.h;
        }
        set j(a) {
            this.h = a;
            this.y();
        }
        get u() {
            return this.r;
        }
        set u(a) {
            this.r = a;
            this.y();
        }
        get i() {
            return this.g;
        }
        set i(a) {
            this.g = a;
            this.y();
        }
        get q() {
            return this.p;
        }
        set q(a) {
            this.p = a;
        }
        get v() {
            return this.s;
        }
        set v(a) {
            this.s = a;
        }
        y() {
            if (this.x != null) {
                this.l = new BindingFormatter();
                this.l.j = this.x;
                this.l.d = this.j;
            }
            else {
                this.l = null;
            }
            if (this.u != null) {
                this.k = new BindingFormatter();
                this.k.j = this.u;
                this.k.d = this.i;
            }
            else {
                this.k = null;
            }
        }
        w(a, b, c) {
            let d = null;
            if (this.formatText != null) {
                d = ((() => {
                    let $ret = new FormatGroupTextEventArgs();
                    $ret.d = this.f;
                    $ret.a = a;
                    $ret.c = b;
                    $ret.b = c;
                    return $ret;
                })());
                this.formatText(this, d);
            }
            return d == null ? c : d.b;
        }
    }
    ColumnGroupDescription.$t = /*@__PURE__*/ markType(ColumnGroupDescription, 'ColumnGroupDescription', ColumnSortDescription.$);
    return ColumnGroupDescription;
})();
//# sourceMappingURL=ColumnGroupDescription.js.map
