/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { Base, IList$1_$type, IList_$type, Number_$type, markType, getEnumerator } from "./type";
/**
 * @hidden
 */
export let ReadOnlyDoubleCollection = /*@__PURE__*/ (() => {
    class ReadOnlyDoubleCollection extends Base {
        constructor(a, ..._rest) {
            super();
            this.a = null;
            this.c = ({});
            a = (a == void 0) ? 0 : a;
            switch (a) {
                case 0: break;
                case 1:
                    {
                        let c = _rest[0];
                        this.a = c;
                    }
                    break;
            }
        }
        item(a, b) {
            if (arguments.length === 2) {
                this.a.item(a, b);
                return b;
            }
            else {
                return this.a.item(a);
            }
        }
        indexOf(a) {
            return this.a.indexOf(a);
        }
        insert(a, b) {
        }
        removeAt(a) {
        }
        get count() {
            return this.a.count;
        }
        get isReadOnly() {
            return true;
        }
        add(a) {
        }
        clear() {
        }
        contains(a) {
            return this.a.contains(a);
        }
        copyTo(a, b) {
            this.a.copyTo(a, b);
        }
        remove(a) {
            return false;
        }
        getEnumerator() {
            return getEnumerator(this.a);
        }
        getEnumeratorObject() {
            return getEnumerator(this.a);
        }
        get isFixedSize() {
            return true;
        }
        add1(a) {
            return -1;
        }
        contains1(a) {
            return this.a.contains(a);
        }
        indexOf1(a) {
            return this.a.indexOf(a);
        }
        insert1(a, b) {
        }
        remove1(a) {
        }
        copyTo1(a, b) {
            this.a.copyTo(a, b);
        }
        get b() {
            return this.a;
        }
        get isSynchronized() {
            return true;
        }
        get syncRoot() {
            return this.c;
        }
    }
    ReadOnlyDoubleCollection.$t = /*@__PURE__*/ markType(ReadOnlyDoubleCollection, 'ReadOnlyDoubleCollection', Base.$, [/*@__PURE__*/ IList$1_$type.specialize(Number_$type), IList_$type]);
    return ReadOnlyDoubleCollection;
})();
