import { IgcColumnGroupDescriptionCollection } from "./igc-column-group-description-collection";
import { GridGroupDescriptionsChangedEventArgs as GridGroupDescriptionsChangedEventArgs_internal } from "./GridGroupDescriptionsChangedEventArgs";
/**
 * Information about the current grouping applied to the grid.
*/
var IgcGridGroupDescriptionsChangedEventArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgcGridGroupDescriptionsChangedEventArgs() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    IgcGridGroupDescriptionsChangedEventArgs.prototype.createImplementation = function () {
        return new GridGroupDescriptionsChangedEventArgs_internal();
    };
    Object.defineProperty(IgcGridGroupDescriptionsChangedEventArgs.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    IgcGridGroupDescriptionsChangedEventArgs.prototype.onImplementationCreated = function () {
    };
    IgcGridGroupDescriptionsChangedEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgcGridGroupDescriptionsChangedEventArgs.prototype, "groupDescriptions", {
        get: function () {
            if (this.i.groupDescriptions == null) {
                return null;
            }
            if (!this.i.groupDescriptions.externalObject) {
                var e = new IgcColumnGroupDescriptionCollection();
                e._implementation = this.i.groupDescriptions;
                this.i.groupDescriptions.externalObject = e;
            }
            return this.i.groupDescriptions.externalObject;
        },
        set: function (v) {
            v == null ? this.i.groupDescriptions = null : this.i.groupDescriptions = v.i;
        },
        enumerable: true,
        configurable: true
    });
    return IgcGridGroupDescriptionsChangedEventArgs;
}());
export { IgcGridGroupDescriptionsChangedEventArgs };
//# sourceMappingURL=igc-grid-group-descriptions-changed-event-args.js.map
