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