import type { FormSchema } from '@uipath/apollo-wind';
import { z } from 'zod';
export declare const nodeShapeSchema: z.ZodEnum<{
    square: "square";
    circle: "circle";
    container: "container";
    rectangle: "rectangle";
}>;
export declare const nodeDebugManifestSchema: z.ZodObject<{
    runtime: z.ZodString;
}, z.core.$strip>;
export declare const nodeDisplayManifestSchema: z.ZodObject<{
    label: z.ZodString;
    canvasLabel: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    icon: z.ZodOptional<z.ZodString>;
    shape: z.ZodOptional<z.ZodEnum<{
        square: "square";
        circle: "circle";
        container: "container";
        rectangle: "rectangle";
    }>>;
    color: z.ZodOptional<z.ZodString>;
    background: z.ZodOptional<z.ZodString>;
    iconBackground: z.ZodOptional<z.ZodString>;
    iconBackgroundDark: z.ZodOptional<z.ZodString>;
    iconColor: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const nodeRuntimeConstraintsManifestSchema: z.ZodUnion<readonly [z.ZodObject<{
    include: z.ZodArray<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
    exclude: z.ZodArray<z.ZodString>;
}, z.core.$strip>]>;
export declare const nodeManifestSchema: z.ZodObject<{
    nodeType: z.ZodString;
    version: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    category: z.ZodOptional<z.ZodString>;
    tags: z.ZodArray<z.ZodString>;
    sortOrder: z.ZodNumber;
    display: z.ZodObject<{
        label: z.ZodString;
        canvasLabel: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        shape: z.ZodOptional<z.ZodEnum<{
            square: "square";
            circle: "circle";
            container: "container";
            rectangle: "rectangle";
        }>>;
        color: z.ZodOptional<z.ZodString>;
        background: z.ZodOptional<z.ZodString>;
        iconBackground: z.ZodOptional<z.ZodString>;
        iconBackgroundDark: z.ZodOptional<z.ZodString>;
        iconColor: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    handleConfiguration: z.ZodArray<z.ZodObject<{
        position: z.ZodEnum<{
            top: "top";
            right: "right";
            bottom: "bottom";
            left: "left";
        }>;
        boundary: z.ZodOptional<z.ZodEnum<{
            outer: "outer";
            inner: "inner";
        }>>;
        customPositionAndOffsets: z.ZodOptional<z.ZodObject<{
            height: z.ZodOptional<z.ZodNumber>;
            width: z.ZodOptional<z.ZodNumber>;
            top: z.ZodOptional<z.ZodNumber>;
            bottom: z.ZodOptional<z.ZodNumber>;
            left: z.ZodOptional<z.ZodNumber>;
            right: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>;
        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>;
            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>>;
    toolbarExtensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        actions: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            icon: z.ZodString;
            label: z.ZodString;
            shortcut: z.ZodOptional<z.ZodString>;
            condition: z.ZodOptional<z.ZodObject<{
                requiresPermissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
                hideOnExecution: z.ZodOptional<z.ZodBoolean>;
                nodeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
                handles: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    handleType: z.ZodEnum<{
                        input: "input";
                        output: "output";
                        artifact: "artifact";
                    }>;
                    type: z.ZodOptional<z.ZodEnum<{
                        target: "target";
                        source: "source";
                    }>>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        overflowActions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            icon: z.ZodString;
            label: z.ZodString;
            shortcut: z.ZodOptional<z.ZodString>;
            condition: z.ZodOptional<z.ZodObject<{
                requiresPermissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
                hideOnExecution: z.ZodOptional<z.ZodBoolean>;
                nodeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
                handles: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    handleType: z.ZodEnum<{
                        input: "input";
                        output: "output";
                        artifact: "artifact";
                    }>;
                    type: z.ZodOptional<z.ZodEnum<{
                        target: "target";
                        source: "source";
                    }>>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>;
    inputDefaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    inputDefinition: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    outputDefinition: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    drillable: z.ZodOptional<z.ZodBoolean>;
    debug: z.ZodOptional<z.ZodObject<{
        runtime: z.ZodString;
    }, z.core.$strip>>;
    model: z.ZodOptional<z.ZodAny>;
    defaultProperties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    form: z.ZodOptional<z.ZodCustom<FormSchema, FormSchema>>;
    deprecated: z.ZodOptional<z.ZodBoolean>;
    runtimeConstraints: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
        include: z.ZodArray<z.ZodString>;
    }, z.core.$strip>, z.ZodObject<{
        exclude: z.ZodArray<z.ZodString>;
    }, z.core.$strip>]>>;
}, z.core.$strip>;
export type NodeShape = z.infer<typeof nodeShapeSchema>;
export type NodeDisplayManifest = z.infer<typeof nodeDisplayManifestSchema>;
export type NodeManifest = z.infer<typeof nodeManifestSchema>;
export type RuntimeConstraints = z.infer<typeof nodeRuntimeConstraintsManifestSchema>;
//# sourceMappingURL=node-manifest.d.ts.map