import { z } from "zod";
const handleTargetSchema = z.object({
    nodeType: z.string(),
    handleId: z.string().optional()
});
const connectionConstraintSchema = z.object({
    maxConnections: z.number().int().positive().optional(),
    minConnections: z.number().int().nonnegative().optional(),
    allowedTargets: z.array(handleTargetSchema).optional(),
    forbiddenTargets: z.array(handleTargetSchema).optional(),
    allowedSources: z.array(handleTargetSchema).optional(),
    forbiddenSources: z.array(handleTargetSchema).optional(),
    allowedTargetCategories: z.array(z.string()).optional(),
    forbiddenTargetCategories: z.array(z.string()).optional(),
    allowedSourceCategories: z.array(z.string()).optional(),
    forbiddenSourceCategories: z.array(z.string()).optional(),
    customValidation: z.string().optional(),
    validationMessage: z.string().optional(),
    severity: z["enum"]([
        'warning',
        'error',
        'critical',
        'info'
    ]).optional()
});
export { connectionConstraintSchema, handleTargetSchema };
