import * as tslib_1 from "tslib";
import { BrushSelectionMode_$type } from "./BrushSelectionMode";
import { IgrBrushScale } from "./igr-brush-scale";
import { CustomPaletteBrushScale } from "./CustomPaletteBrushScale";
import { ensureEnum, brushToString } from "igniteui-react-core/ES5/componentUtil";
/**
 * Represents a brush scale that uses index-based brush selection mode.
*/
var IgrCustomPaletteBrushScale = /** @class */ (function (_super) {
    tslib_1.__extends(IgrCustomPaletteBrushScale, _super);
    function IgrCustomPaletteBrushScale(props) {
        return _super.call(this, props) || this;
    }
    IgrCustomPaletteBrushScale.prototype.createImplementation = function () {
        return new CustomPaletteBrushScale();
    };
    Object.defineProperty(IgrCustomPaletteBrushScale.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrCustomPaletteBrushScale.prototype, "brushSelectionMode", {
        /**
         * Gets or sets the brush selection mode.
        */
        get: function () {
            return this.i.brushSelectionMode;
        },
        set: function (v) {
            this.i.brushSelectionMode = ensureEnum(BrushSelectionMode_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrCustomPaletteBrushScale.prototype, "isReady", {
        /**
         * Checks if this scale is ready for useage with a series
        */
        get: function () {
            return this.i.isReady;
        },
        enumerable: true,
        configurable: true
    });
    IgrCustomPaletteBrushScale.prototype.getBrush1 = function (index, total) {
        var iv = this.i.getBrush1(index, total);
        return brushToString(iv);
    };
    return IgrCustomPaletteBrushScale;
}(IgrBrushScale));
export { IgrCustomPaletteBrushScale };
