import e from"./mixins.js";import{makeOptionsSetter as t,theSameArray as r}from"../utils/amap-helpers.js";import{defineProp as o}from"./props.js";import i from"./overlay.js";import{StrokeStyles as s,LineJoins as l,LineCaps as p}from"../utils/types.js";var n=e(i).extend({props:{strokeColor:o({type:String,setter:t("strokeColor")}),strokeOpacity:o({type:Number,setter:t("strokeOpacity")}),strokeWeight:o({type:Number,setter:t("strokeWeight")}),strokeStyle:o({type:String,setter:t("strokeStyle"),validator:function(e){return s.includes(e)}}),strokeDasharray:o({type:Array,deep:!0,equals:r,setter:t("strokeDasharray")})}}),a=e(n).extend({props:{fillColor:o({type:String,setter:t("fillColor")}),fillOpacity:o({type:Number,setter:t("fillOpacity")})}}),y=e(n).extend({props:{lineJoin:o({type:String,setter:t("lineJoin"),validator:function(e){return l.includes(e)}}),lineCap:o({type:String,setter:t("lineCap"),validator:function(e){return p.includes(e)}}),showDir:o({type:Boolean,default:void 0,setter:t("showDir")}),dirColor:o({type:String,setter:t("dirColor")}),dirImg:o({type:Object,setter:t("dirImg")}),isOutline:o({type:Boolean,default:void 0,setter:t("isOutline")}),outlineColor:o({type:String,setter:t("outlineColor")}),borderWeight:o({type:Number,setter:t("borderWeight")}),geodesic:o({type:Boolean,default:void 0,setter:t("geodesic")})}});export default n;export{y as line,a as plane};