import { DataAbbreviationMode_$type } from "igniteui-react-core";
import { DataLegendStylingColumnEventArgs as DataLegendStylingColumnEventArgs_internal } from "./DataLegendStylingColumnEventArgs";
import { ensureEnum, brushToString, stringToBrush } from "igniteui-react-core";
/**
 * Represents styling event args for a column in data legend
*/
export class IgrDataLegendStylingColumnEventArgs {
    createImplementation() {
        return new DataLegendStylingColumnEventArgs_internal();
    }
    /**
     * @hidden
     */
    get i() {
        return this._implementation;
    }
    onImplementationCreated() {
    }
    constructor() {
        this.mounted = false;
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    }
    _provideImplementation(i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    }
    /**
     * Gets index of column
    */
    get columnIndex() {
        return this.i.c;
    }
    set columnIndex(v) {
        this.i.c = +v;
    }
    /**
     * Gets index of series
    */
    get seriesIndex() {
        return this.i.d;
    }
    set seriesIndex(v) {
        this.i.d = +v;
    }
    /**
     * Gets title of series
    */
    get seriesTitle() {
        return this.i.f;
    }
    set seriesTitle(v) {
        this.i.f = v;
    }
    /**
     * Gets original value of series without any abbreviation or formatting
    */
    get valueOriginal() {
        return this.i.b;
    }
    set valueOriginal(v) {
        this.i.b = +v;
    }
    /**
     * Gets name of data column that corresponds to the value, e.g. "OpenPrice"
    */
    get valueMemberPath() {
        return this.i.i;
    }
    set valueMemberPath(v) {
        this.i.i = v;
    }
    /**
     * Gets label of data column that corresponds to the value, e.g. "Open"
    */
    get valueMemberLabel() {
        return this.i.h;
    }
    set valueMemberLabel(v) {
        this.i.h = v;
    }
    /**
     * Gets a mode used to abbreviate original value to ValueText
    */
    get valueAbbreviation() {
        return this.i.a;
    }
    set valueAbbreviation(v) {
        this.i.a = ensureEnum(DataAbbreviationMode_$type, v);
    }
    /**
     * Gets or sets label text displayed before value text in the column
    */
    get labelText() {
        return this.i.e;
    }
    set labelText(v) {
        this.i.e = v;
    }
    /**
     * Gets or sets unit text displayed after value text in the column
    */
    get unitsText() {
        return this.i.g;
    }
    set unitsText(v) {
        this.i.g = v;
    }
    /**
     * Gets or sets value text displayed value text in the column
    */
    get valueText() {
        return this.i.j;
    }
    set valueText(v) {
        this.i.j = v;
    }
    /**
     * Gets or sets color of label text
    */
    get labelTextColor() {
        return brushToString(this.i.k);
    }
    set labelTextColor(v) {
        this.i.k = stringToBrush(v);
    }
    /**
     * Gets or sets color of value text
    */
    get unitsTextColor() {
        return brushToString(this.i.l);
    }
    set unitsTextColor(v) {
        this.i.l = stringToBrush(v);
    }
    /**
     * Gets or sets color of unit text
    */
    get valueTextColor() {
        return brushToString(this.i.m);
    }
    set valueTextColor(v) {
        this.i.m = stringToBrush(v);
    }
}
