import { Style } from "igniteui-react-core/ES2015/Style";
export class StyleShapeEventArgs {
    get i() {
        return this._implementation;
    }
    onImplementationCreated() {
    }
    constructor() {
    }
    _provideImplementation(i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    get item() {
        return this.i.item;
    }
    set item(v) {
        this.i.item = v;
    }
    get container() {
        return this.i.container;
    }
    set container(v) {
        this.i.container = v;
    }
    /**
     * Gets or sets the fill brush.
    */
    get shapeFill() {
        return this.i.shapeStyle ? this.i.shapeStyle.fill : null;
    }
    set shapeFill(v) {
        this.ensureShapeStyle();
        this.i.shapeStyle.fill = v;
    }
    /**
     * Gets or sets the stroke brush.
    */
    get shapeStroke() {
        return this.i.shapeStyle ? this.i.shapeStyle.stroke : null;
    }
    set shapeStroke(v) {
        this.ensureShapeStyle();
        this.i.shapeStyle.stroke = v;
    }
    /**
     * Gets or sets the stroke thickness.
    */
    get shapeStrokeThickness() {
        return this.i.shapeStyle ? this.i.shapeStyle.strokeThickness : NaN;
    }
    set shapeStrokeThickness(v) {
        this.ensureShapeStyle();
        this.i.shapeStyle.strokeThickness = +v;
    }
    /**
     * Gets or sets the opacity.
    */
    get shapeOpacity() {
        return this.i.shapeStyle ? this.i.shapeStyle.opacity : NaN;
    }
    set shapeOpacity(v) {
        this.ensureShapeStyle();
        this.i.shapeStyle.opacity = +v;
    }
    ensureShapeStyle() {
        if (this.i.shapeStyle) {
            return;
        }
        this.i.shapeStyle = new Style();
    }
}
