/**
 * Represents an element in the current sort applied to a data source or provider. Changes to this object are not observed or expected after it is initially assigned to a collection.
*/
var /**
 * Represents an element in the current sort applied to a data source or provider. Changes to this object are not observed or expected after it is initially assigned to a collection.
*/
SortDescription = /** @class */ (function () {
    function SortDescription() {
    }
    Object.defineProperty(SortDescription.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    SortDescription.prototype.onImplementationCreated = function () {
    };
    SortDescription.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(SortDescription.prototype, "propertyName", {
        /**
         * Gets or sets the property being sorted.
        */
        get: /**
             * Gets or sets the property being sorted.
            */
        function () {
            return this.i.g;
        },
        set: function (v) {
            this.i.g = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(SortDescription.prototype, "direction", {
        /**
         * Gets or sets the direction to sort based on the property.
        */
        get: /**
             * Gets or sets the direction to sort based on the property.
            */
        function () {
            return this.i.d;
        },
        set: function (v) {
            this.i.d = v;
        },
        enumerable: true,
        configurable: true
    });
    /**
     * Returns if the SortDescription is equal to another.
    
    * @param other  * The SortDescription to compare to.
    */
    /**
         * Returns if the SortDescription is equal to another.
        
        * @param other  * The SortDescription to compare to.
        */
    SortDescription.prototype.equals = /**
         * Returns if the SortDescription is equal to another.
        
        * @param other  * The SortDescription to compare to.
        */
    function (other) {
        var iv = this.i.equals(other);
        return (iv);
    };
    /**
     * Returns the hash code for the SortDescription.
    
    */
    /**
         * Returns the hash code for the SortDescription.
        
        */
    SortDescription.prototype.getHashCode = /**
         * Returns the hash code for the SortDescription.
        
        */
    function () {
        var iv = this.i.getHashCode();
        return (iv);
    };
    return SortDescription;
}());
/**
 * Represents an element in the current sort applied to a data source or provider. Changes to this object are not observed or expected after it is initially assigned to a collection.
*/
export { SortDescription };
//# sourceMappingURL=igx-sort-description.js.map