import { z } from 'zod';
export declare const toolbarActionSchema: 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>;
export declare const modeToolbarConfigSchema: 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>;
export declare const toolbarConfigurationSchema: 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>>;
export type ToolbarActionSchema = z.infer<typeof toolbarActionSchema>;
export type ModeToolbarConfig = z.infer<typeof modeToolbarConfigSchema>;
export type ToolbarConfiguration = z.infer<typeof toolbarConfigurationSchema>;
export interface ToolbarActionEvent {
    actionId: string;
    nodeId: string;
    mode: string;
    nodeData?: Record<string, unknown>;
}
export type ToolbarActionHandler = (event: ToolbarActionEvent) => void;
//# sourceMappingURL=toolbar.d.ts.map