import { TimeAxisBreak as TimeAxisBreak_internal } from "./TimeAxisBreak";
/**
 * Settings for breaks on a time axis.
 * Axis breaks can be added to a time axis in order to omit portions of time on that axis.  For example, weekends can be skipped, if they are not relevant to your data.
*/
var TimeAxisBreak = /** @class */ (function () {
    function TimeAxisBreak() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    TimeAxisBreak.prototype.createImplementation = function () {
        return new TimeAxisBreak_internal();
    };
    Object.defineProperty(TimeAxisBreak.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    TimeAxisBreak.prototype.onImplementationCreated = function () {
    };
    TimeAxisBreak.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(TimeAxisBreak.prototype, "start", {
        /**
         * The start time of the axis break.
        */
        get: function () {
            return this.i.d;
        },
        set: function (v) {
            this.i.d = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(TimeAxisBreak.prototype, "end", {
        /**
         * The end time of the axis break.
        */
        get: function () {
            return this.i.c;
        },
        set: function (v) {
            this.i.c = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(TimeAxisBreak.prototype, "interval", {
        /**
         * The interval at which to repeat this break, expressed as a TimeSpan.
        */
        get: function () {
            return this.i.i;
        },
        set: function (v) {
            this.i.i = +v;
        },
        enumerable: true,
        configurable: true
    });
    return TimeAxisBreak;
}());
export { TimeAxisBreak };
