import { z } from "zod";
import { zAnnotationPoint } from "../../annotation/zAnnotationPoint.js";
import { zAnnotationDifferenceLine } from "../../annotation/zAnnotationDifferenceLine.js";
import { zAnnotationHorizontalLine } from "../../annotation/zAnnotationHorizontalLine.js";
import { zAnnotationArea } from "../../annotation/zAnnotationArea.js";
const zAnnotationPointConfig = zAnnotationPoint.omit({
    selector: true,
    text: true
}).partial();
const zAnnotationHorizontalLineConfig = zAnnotationHorizontalLine.pick({
    lineColor: true,
    lineWidth: true,
    lineVisible: true,
    lineStyle: true,
    textBackgroundVisible: true,
    textColor: true,
    textFontSize: true,
    textFontWeight: true,
    textBackgroundColor: true,
    textBackgroundBorderColor: true,
    textBackgroundBorderWidth: true,
    textBackgroundBorderRadius: true,
    textBackgroundPadding: true
}).extend({
    endSymbolVisible: z.boolean().nullish(),
    endSymbolType: z.string().nullish(),
    endSymbolSize: z.number().nullish(),
    startSymbolVisible: z.boolean().nullish(),
    startSymbolType: z.string().nullish(),
    startSymbolSize: z.number().nullish()
}).partial();
const zAnnotationVerticalLineConfig = zAnnotationHorizontalLineConfig.clone();
const zAnnotationAreaConfig = zAnnotationArea.pick({
    textColor: true,
    textFontSize: true,
    textFontWeight: true,
    textBackgroundVisible: true,
    textBackgroundColor: true,
    textBackgroundBorderColor: true,
    textBackgroundBorderWidth: true,
    textBackgroundBorderRadius: true,
    textBackgroundPadding: true,
    areaColor: true,
    areaColorOpacity: true,
    areaBorderColor: true,
    areaBorderWidth: true,
    areaBorderRadius: true,
    areaLineDash: true,
    outerPadding: true
}).partial();
const zAnnotationDifferenceLineConfig = zAnnotationDifferenceLine.pick({
    lineColor: true,
    textColor: true,
    textFontSize: true,
    textBackgroundColor: true
}).partial();
const zAnnotationConfig = z.object({
    annotationPoint: zAnnotationPointConfig.nullish(),
    annotationHorizontalLine: zAnnotationHorizontalLineConfig.nullish(),
    annotationVerticalLine: zAnnotationVerticalLineConfig.nullish(),
    annotationArea: zAnnotationAreaConfig.nullish(),
    annotationDifferenceLine: zAnnotationDifferenceLineConfig.nullish()
});
export { zAnnotationAreaConfig, zAnnotationConfig, zAnnotationDifferenceLineConfig, zAnnotationHorizontalLineConfig, zAnnotationPointConfig, zAnnotationVerticalLineConfig };

//# sourceMappingURL=zAnnotation.js.map