import { IgcCellInfo } from "./igc-cell-info";
import { NumericCellModel as NumericCellModel_internal } from "./NumericCellModel";
import { ensureBool, arrayFindByName } from "igniteui-webcomponents-core";
/**
 * Backing information for a numeric cell in the grid.
*/
export class IgcNumericCellInfo extends IgcCellInfo {
    createImplementation() {
        return new NumericCellModel_internal();
    }
    /**
                                 * @hidden
                                 */
    get i() {
        return this._implementation;
    }
    constructor() {
        super();
    }
    /**
     * Sets or gets the numeric value to use for the cell.
    */
    get numericValue() {
        return this.i.k5;
    }
    set numericValue(v) {
        this.i.k5 = +v;
    }
    /**
     * Sets or gets whether there is a decimal numeric value to use for the cell.
    */
    get hasDecimalValue() {
        return this.i.k1;
    }
    set hasDecimalValue(v) {
        this.i.k1 = ensureBool(v);
    }
    /**
     * The format string to apply to the value
    */
    get formatStringOverride() {
        return this.i.lz;
    }
    set formatStringOverride(v) {
        this.i.lz = v;
    }
    get formatSpecifiers() {
        return this.i.kx;
    }
    set formatSpecifiers(v) {
        this.i.kx = v;
    }
    /**
     * The format options to apply to the value
    */
    get formatOverride() {
        return this.i.lr;
    }
    set formatOverride(v) {
        this.i.lr = v;
    }
    /**
     * Sets or gets the text prepended to a negative numeric value
    */
    get negativePrefix() {
        return this.i.l5;
    }
    set negativePrefix(v) {
        this.i.l5 = v;
    }
    /**
     * Sets or gets the text prepended to a positive numeric value
    */
    get positivePrefix() {
        return this.i.ma;
    }
    set positivePrefix(v) {
        this.i.ma = v;
    }
    /**
     * Sets or gets the text appended to a negative numeric value
    */
    get negativeSuffix() {
        return this.i.l7;
    }
    set negativeSuffix(v) {
        this.i.l7 = v;
    }
    /**
     * Sets or gets the text appended to a positive numeric value
    */
    get positiveSuffix() {
        return this.i.mc;
    }
    set positiveSuffix(v) {
        this.i.mc = v;
    }
    /**
     * The maximum number of decimal places to display when formatting
    */
    get maxFractionDigits() {
        return this.i.ld;
    }
    set maxFractionDigits(v) {
        this.i.ld = +v;
    }
    /**
     * The minimum number of decimal places to display when formatting
    */
    get minFractionDigits() {
        return this.i.lf;
    }
    set minFractionDigits(v) {
        this.i.lf = +v;
    }
    /**
     * The minimum number of integer digits to display when formatting
    */
    get minIntegerDigits() {
        return this.i.lh;
    }
    set minIntegerDigits(v) {
        this.i.lh = +v;
    }
    /**
     * Sets or gets if the grouping separator is shown
    */
    get showGroupingSeparator() {
        return this.i.k3;
    }
    set showGroupingSeparator(v) {
        this.i.k3 = ensureBool(v);
    }
    findByName(name) {
        var baseResult = super.findByName(name);
        if (baseResult) {
            return baseResult;
        }
        if (this.formatSpecifiers != null && arrayFindByName(this.formatSpecifiers, name)) {
            return arrayFindByName(this.formatSpecifiers, name);
        }
        return null;
    }
}
//# sourceMappingURL=igc-numeric-cell-info.js.map
