/*!
 * Copyright (c) 2026 Vertex Software LLC. All rights reserved.
 */
import { Point, Rectangle } from "@vertexvis/geometry";
import { UUID } from "@vertexvis/utils";
export class ArrowMarkup {
    constructor(init) {
        var _a, _b, _c, _d, _e;
        this.start = (_a = init.start) !== null && _a !== void 0 ? _a : Point.create();
        this.end = (_b = init.end) !== null && _b !== void 0 ? _b : Point.create();
        this.id = (_c = init.id) !== null && _c !== void 0 ? _c : `arrow-markup--${UUID.create()}`;
        this.startLineAnchorStyle = (_d = init.startLineAnchorStyle) !== null && _d !== void 0 ? _d : 'none';
        this.endLineAnchorStyle = (_e = init.endLineAnchorStyle) !== null && _e !== void 0 ? _e : 'arrow-triangle';
    }
}
export class CircleMarkup {
    constructor(init) {
        var _a, _b;
        this.bounds = (_a = init.bounds) !== null && _a !== void 0 ? _a : Rectangle.create(0, 0, 0, 0);
        this.id = (_b = init.id) !== null && _b !== void 0 ? _b : `circle-markup--${UUID.create()}`;
    }
}
export class FreeformMarkup {
    constructor(init) {
        var _a, _b, _c;
        this.bounds = (_a = init.bounds) !== null && _a !== void 0 ? _a : Rectangle.create(0, 0, 0, 0);
        this.points = (_b = init.points) !== null && _b !== void 0 ? _b : [];
        this.id = (_c = init.id) !== null && _c !== void 0 ? _c : `freeform-markup--${UUID.create()}`;
    }
}
//# sourceMappingURL=markup.js.map
