import { z } from "zod";
import { nodeShapeSchema } from "../node-definition/node-manifest.js";
const idSchema = z.string().min(1);
const versionSchema = z.string().regex(/^\d+\.\d+\.\d+$/, 'Version must be in semver format (e.g., "1.0.0")');
const typeVersionKeySchema = z.string().regex(/^.+:\d+\.\d+\.\d+$/, 'TypeVersionKey must be in format "type:version" (e.g., "myType:1.0.0")');
const displayConfigSchema = z.object({
    label: z.string().optional(),
    canvasLabel: z.string().optional(),
    subLabel: z.any().optional(),
    shape: nodeShapeSchema.optional(),
    background: z.string().optional(),
    iconBackground: z.string().optional(),
    iconBackgroundDark: z.string().optional(),
    iconColor: z.string().optional(),
    icon: z.string().optional(),
    iconElement: z.any().optional(),
    color: z.string().optional(),
    labelTooltip: z.string().optional(),
    labelBackgroundColor: z.string().optional(),
    centerAdornmentComponent: z.any().optional(),
    footerComponent: z.any().optional(),
    footerVariant: z.string().optional()
}).catchall(z.unknown());
export { displayConfigSchema, idSchema, typeVersionKeySchema, versionSchema };
