import * as tslib_1 from "tslib";
import { ImageStretchOptions_$type } from "./ImageStretchOptions";
import { ImageResourceType_$type } from "./ImageResourceType";
import { IgcCellInfo } from "./igc-cell-info";
import { ImageCellModel as ImageCellModel_internal } from "./ImageCellModel";
import { ensureEnum } from "igniteui-webcomponents-core";
/**
 * Backing information for an image cell in the grid.
*/
var IgcImageCellInfo = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(IgcImageCellInfo, _super);
    function IgcImageCellInfo() {
        return _super.call(this) || this;
    }
    IgcImageCellInfo.prototype.createImplementation = function () {
        return new ImageCellModel_internal();
    };
    Object.defineProperty(IgcImageCellInfo.prototype, "i", {
        /**
                                     * @hidden
                                     */
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcImageCellInfo.prototype, "imagePath", {
        /**
         * Sets or gets the resource path to use to get the image for the cell.
        */
        get: function () {
            return this.i.k4;
        },
        set: function (v) {
            this.i.k4 = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcImageCellInfo.prototype, "imageStretchOption", {
        /**
         * Sets or gets the image stretching behavior for the image.
        */
        get: function () {
            return this.i.kz;
        },
        set: function (v) {
            this.i.kz = ensureEnum(ImageStretchOptions_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcImageCellInfo.prototype, "imageResourceType", {
        /**
         * Sets or gets the image resource type. Indicates which type of resource should be fetched and how ImagePath should be interpreted.
        */
        get: function () {
            return this.i.kx;
        },
        set: function (v) {
            this.i.kx = ensureEnum(ImageResourceType_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    return IgcImageCellInfo;
}(IgcCellInfo));
export { IgcImageCellInfo };
//# sourceMappingURL=igc-image-cell-info.js.map
