import { FilterExpressionCollection as FilterExpressionCollection_internal } from "./FilterExpressionCollection";
/**
 * Represents a colleciton of filter expressions.
*/
var /**
 * Represents a colleciton of filter expressions.
*/
FilterExpressionCollection = /** @class */ (function () {
    function FilterExpressionCollection() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    FilterExpressionCollection.prototype.createImplementation = function () {
        return new FilterExpressionCollection_internal();
    };
    Object.defineProperty(FilterExpressionCollection.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    FilterExpressionCollection.prototype.onImplementationCreated = function () {
    };
    FilterExpressionCollection.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(FilterExpressionCollection.prototype, "syncTarget", {
        get: function () {
            if (this.i.b == null) {
                return null;
            }
            if (!this.i.b.externalObject) {
                var e = new FilterExpressionCollection();
                e._implementation = this.i.b;
                this.i.b.externalObject = e;
            }
            return this.i.b.externalObject;
        },
        set: function (v) {
            v == null ? this.i.b = null : this.i.b = v.i;
        },
        enumerable: true,
        configurable: true
    });
    FilterExpressionCollection.prototype.add = function (item) {
        var iv = this.i.g(item);
        return (iv);
    };
    FilterExpressionCollection.prototype.insert = function (index, item) {
        this.i.n(index, item);
    };
    FilterExpressionCollection.prototype.clear = function () {
        this.i.m();
    };
    FilterExpressionCollection.prototype.get = function (index) {
        var iv = this.i.c(index);
        return (iv);
    };
    FilterExpressionCollection.prototype.indexOf = function (item) {
        var iv = this.i.j(item);
        return (iv);
    };
    FilterExpressionCollection.prototype.remove = function (item) {
        var iv = this.i.h(item);
        return (iv);
    };
    FilterExpressionCollection.prototype.removeAt = function (index) {
        var iv = this.i.d(index);
        return (iv);
    };
    FilterExpressionCollection.prototype.set = function (index, value) {
        var iv = this.i.e(index, value);
        return (iv);
    };
    FilterExpressionCollection.prototype.size = function () {
        var iv = this.i.k();
        return (iv);
    };
    return FilterExpressionCollection;
}());
/**
 * Represents a colleciton of filter expressions.
*/
export { FilterExpressionCollection };
//# sourceMappingURL=igx-filter-expression-collection.js.map