import { PrimaryKeyValue as PrimaryKeyValue_internal } from "./PrimaryKeyValue";
/**
 * A primary key value.
*/
var IgcPrimaryKeyValue = /** @class */ /*@__PURE__*/ (function () {
    function IgcPrimaryKeyValue(primaryKey, primaryKeyValue) {
        if (primaryKey === void 0) {
            primaryKey = null;
        }
        if (primaryKeyValue === void 0) {
            primaryKeyValue = null;
        }
        this._implementation = new PrimaryKeyValue_internal(primaryKey, primaryKeyValue);
        this._implementation.externalObject = this;
    }
    Object.defineProperty(IgcPrimaryKeyValue.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    IgcPrimaryKeyValue.prototype.onImplementationCreated = function () {
    };
    IgcPrimaryKeyValue.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    IgcPrimaryKeyValue.createIdentityKey = function (item) {
        var int = PrimaryKeyValue_internal.createIdentityKey(item);
        var ext = new IgcPrimaryKeyValue(null, null);
        ext._provideImplementation(int);
        return ext;
    };
    Object.defineProperty(IgcPrimaryKeyValue.prototype, "key", {
        /**
     * The primary key associated with this value.
    */
        get: function () {
            return this.i.key;
        },
        set: function (v) {
            this.i.key = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcPrimaryKeyValue.prototype, "value", {
        /**
         * The value of the keys for this primary key value.
        */
        get: function () {
            return this.i.value;
        },
        set: function (v) {
            this.i.value = v;
        },
        enumerable: true,
        configurable: true
    });
    IgcPrimaryKeyValue.prototype.findByName = function (name) {
        return null;
    };
    /**
 * Determines if two primary key values are equal.

* @param other  * The other key value to check against.
*/
    IgcPrimaryKeyValue.prototype.equals = function (other) {
        var iv = this.i.equals(other);
        return (iv);
    };
    return IgcPrimaryKeyValue;
}());
export { IgcPrimaryKeyValue };
//# sourceMappingURL=igc-primary-key-value.js.map
