import { z } from "zod";
const toolbarActionSchema = z.object({
    id: z.string(),
    icon: z.string(),
    label: z.string(),
    shortcut: z.string().optional(),
    condition: z.object({
        requiresPermissions: z.array(z.string()).optional(),
        hideOnExecution: z.boolean().optional(),
        nodeTypes: z.array(z.string()).optional(),
        handles: z.array(z.object({
            handleType: z["enum"]([
                'output',
                'input',
                'artifact'
            ]),
            type: z["enum"]([
                'source',
                'target'
            ]).optional()
        })).optional()
    }).optional()
});
const modeToolbarConfigSchema = z.object({
    actions: z.array(toolbarActionSchema),
    overflowActions: z.array(toolbarActionSchema).optional()
});
const toolbarConfigurationSchema = z.record(z.string(), modeToolbarConfigSchema);
export { modeToolbarConfigSchema, toolbarActionSchema, toolbarConfigurationSchema };
