import { ColumnWidth as ColumnWidth_internal } from "./ColumnWidth";
import { ensureBool } from "igniteui-webcomponents-core";
/**
 * Represents a width of a column.
*/
var IgcColumnWidth = /** @class */ /*@__PURE__*/ (function () {
    function IgcColumnWidth() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    IgcColumnWidth.prototype.createImplementation = function () {
        return new ColumnWidth_internal();
    };
    Object.defineProperty(IgcColumnWidth.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    IgcColumnWidth.prototype.onImplementationCreated = function () {
    };
    IgcColumnWidth.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgcColumnWidth.prototype, "isStarSized", {
        /**
         * Gets or sets whether to use star sizing for the column's width
        */
        get: function () {
            return this.i.c;
        },
        set: function (v) {
            this.i.c = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcColumnWidth.prototype, "value", {
        /**
         * Gets or sets the fixed width or the proportional width of the column, depending on whether this width is a star width.
        */
        get: function () {
            return this.i.f;
        },
        set: function (v) {
            this.i.f = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgcColumnWidth.prototype, "minimumWidth", {
        /**
         * Gets or sets a minimum width to use when star sizing.
        */
        get: function () {
            return this.i.e;
        },
        set: function (v) {
            this.i.e = +v;
        },
        enumerable: true,
        configurable: true
    });
    IgcColumnWidth.prototype.findByName = function (name) {
        return null;
    };
    return IgcColumnWidth;
}());
export { IgcColumnWidth };
//# sourceMappingURL=igc-column-width.js.map
