import { LegendItemBadgeShape_$type } from "igniteui-react-core";
import { DataLegendStylingRowEventArgs as DataLegendStylingRowEventArgs_internal } from "./DataLegendStylingRowEventArgs";
import { ensureEnum, ensureBool, brushToString, stringToBrush } from "igniteui-react-core";
/**
 * Represents styling event args for a row in data legend
*/
export class IgrDataLegendStylingRowEventArgs {
    createImplementation() {
        return new DataLegendStylingRowEventArgs_internal();
    }
    /**
     * @hidden
     */
    get i() {
        return this._implementation;
    }
    onImplementationCreated() {
    }
    constructor() {
        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 or sets shape of legend badge in the Data Legend
     * This setting applies only to styling series rows
    */
    get badgeShape() {
        return this.i.a;
    }
    set badgeShape(v) {
        this.i.a = ensureEnum(LegendItemBadgeShape_$type, v);
    }
    /**
     * Gets or sets whether the legend badge is visible in the Data Legend
     * This setting applies only to styling series rows
    */
    get isBadgeVisible() {
        return this.i.b;
    }
    set isBadgeVisible(v) {
        this.i.b = ensureBool(v);
    }
    /**
     * Gets or sets whether the whole row is visible in the Data Legend
    */
    get isRowVisible() {
        return this.i.c;
    }
    set isRowVisible(v) {
        this.i.c = ensureBool(v);
    }
    /**
     * Gets index of series in the chart
    */
    get seriesIndex() {
        return this.i.d;
    }
    set seriesIndex(v) {
        this.i.d = +v;
    }
    /**
     * Gets title of series in the chart
    */
    get seriesTitle() {
        return this.i.e;
    }
    set seriesTitle(v) {
        this.i.e = v;
    }
    /**
     * Gets or sets title text displayed in row of Data Legend
    */
    get titleText() {
        return this.i.f;
    }
    set titleText(v) {
        this.i.f = v;
    }
    /**
     * Gets or sets color of title text
    */
    get titleTextColor() {
        return brushToString(this.i.g);
    }
    set titleTextColor(v) {
        this.i.g = stringToBrush(v);
    }
}
