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