import { default as React, FC } from 'react';
export interface NodeData {
    label: string;
    config?: Record<string, any>;
    description?: string;
    hasError?: boolean;
}
export interface BaseNodeProps {
    data: NodeData;
    selected: boolean;
    type: string;
    icon: React.ReactNode;
    color: 'primary' | 'warning' | 'purple' | 'success';
    children?: React.ReactNode;
    hasInput?: boolean;
    hasOutput?: boolean;
}
export interface CustomNodeProps {
    data: NodeData;
    selected: boolean;
}
/**
 * BaseNode - shared node UI for all node types
 */
export declare const BaseNode: FC<BaseNodeProps>;
/**
 * TriggerNode - for event triggers
 */
export declare const TriggerNode: FC<CustomNodeProps>;
/**
 * ConditionNode - for filter/condition nodes
 */
export declare const ConditionNode: FC<CustomNodeProps>;
/**
 * TransformNode - for transformation nodes
 */
export declare const TransformNode: FC<CustomNodeProps>;
/**
 * AnalyticsNode - for analytics driver nodes
 */
export declare const AnalyticsNode: FC<CustomNodeProps>;
/**
 * nodeTypes - mapping for ReactFlow
 */
export declare const nodeTypes: {
    trigger: React.FC<CustomNodeProps>;
    condition: React.FC<CustomNodeProps>;
    transform: React.FC<CustomNodeProps>;
    analytics_driver: React.FC<CustomNodeProps>;
};
//# sourceMappingURL=nodes.d.ts.map