import { z } from 'zod';
export declare const uiSchema: z.ZodObject<{
    position: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, z.core.$strip>;
    size: z.ZodOptional<z.ZodObject<{
        width: z.ZodNumber;
        height: z.ZodNumber;
    }, z.core.$strip>>;
    collapsed: z.ZodOptional<z.ZodBoolean>;
}, z.core.$catchall<z.ZodUnknown>>;
export declare const nodeSchema: z.ZodObject<{
    id: z.ZodString;
    type: z.ZodString;
    typeVersion: z.ZodString;
    ui: z.ZodObject<{
        position: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, z.core.$strip>;
        size: z.ZodOptional<z.ZodObject<{
            width: z.ZodNumber;
            height: z.ZodNumber;
        }, z.core.$strip>>;
        collapsed: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$catchall<z.ZodUnknown>>;
    display: z.ZodObject<{
        label: z.ZodOptional<z.ZodString>;
        canvasLabel: z.ZodOptional<z.ZodString>;
        subLabel: z.ZodOptional<z.ZodAny>;
        shape: z.ZodOptional<z.ZodEnum<{
            square: "square";
            circle: "circle";
            container: "container";
            rectangle: "rectangle";
        }>>;
        background: z.ZodOptional<z.ZodString>;
        iconBackground: z.ZodOptional<z.ZodString>;
        iconBackgroundDark: z.ZodOptional<z.ZodString>;
        iconColor: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        iconElement: z.ZodOptional<z.ZodAny>;
        color: z.ZodOptional<z.ZodString>;
        labelTooltip: z.ZodOptional<z.ZodString>;
        labelBackgroundColor: z.ZodOptional<z.ZodString>;
        centerAdornmentComponent: z.ZodOptional<z.ZodAny>;
        footerComponent: z.ZodOptional<z.ZodAny>;
        footerVariant: z.ZodOptional<z.ZodString>;
        shadow: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$catchall<z.ZodUnknown>>;
    inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    outputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    handleCustomization: z.ZodOptional<z.ZodObject<{
        groups: z.ZodArray<z.ZodObject<{
            position: z.ZodEnum<{
                top: "top";
                right: "right";
                bottom: "bottom";
                left: "left";
            }>;
            handles: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                type: z.ZodEnum<{
                    target: "target";
                    source: "source";
                }>;
                handleType: z.ZodEnum<{
                    input: "input";
                    output: "output";
                    artifact: "artifact";
                }>;
                label: z.ZodOptional<z.ZodString>;
                visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
                repeat: z.ZodOptional<z.ZodString>;
                itemVar: z.ZodOptional<z.ZodString>;
                indexVar: z.ZodOptional<z.ZodString>;
                showButton: z.ZodOptional<z.ZodBoolean>;
                labelVisibility: z.ZodOptional<z.ZodEnum<{
                    always: "always";
                    hover: "hover";
                }>>;
                constraints: z.ZodOptional<z.ZodObject<{
                    maxConnections: z.ZodOptional<z.ZodNumber>;
                    minConnections: z.ZodOptional<z.ZodNumber>;
                    allowedTargets: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        nodeType: z.ZodString;
                        handleId: z.ZodOptional<z.ZodString>;
                    }, z.core.$strip>>>;
                    forbiddenTargets: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        nodeType: z.ZodString;
                        handleId: z.ZodOptional<z.ZodString>;
                    }, z.core.$strip>>>;
                    allowedSources: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        nodeType: z.ZodString;
                        handleId: z.ZodOptional<z.ZodString>;
                    }, z.core.$strip>>>;
                    forbiddenSources: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        nodeType: z.ZodString;
                        handleId: z.ZodOptional<z.ZodString>;
                    }, z.core.$strip>>>;
                    allowedTargetCategories: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    forbiddenTargetCategories: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    allowedSourceCategories: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    forbiddenSourceCategories: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    customValidation: z.ZodOptional<z.ZodString>;
                    validationMessage: z.ZodOptional<z.ZodString>;
                    severity: z.ZodOptional<z.ZodEnum<{
                        info: "info";
                        warning: "warning";
                        error: "error";
                        critical: "critical";
                    }>>;
                }, z.core.$strip>>;
                isDefaultForType: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strip>>;
            visible: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
    model: z.ZodOptional<z.ZodUnknown>;
    parentId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type InstanceUiConfig = z.infer<typeof uiSchema>;
export type NodeInstance = z.infer<typeof nodeSchema>;
//# sourceMappingURL=node.d.ts.map