import { type HandleProps, Position } from '@xyflow/react';
import type { HandleActionEvent } from './ButtonHandle';
export interface SmartHandleProps extends Omit<HandleProps, 'position'> {
    defaultPosition?: Position;
    handleType?: 'input' | 'output' | 'artifact';
    style?: React.CSSProperties;
    className?: string;
    nodeWidth?: number;
    nodeHeight?: number;
    label?: string;
    labelIcon?: React.ReactNode;
    labelBackgroundColor?: string;
    showButton?: boolean;
    selected?: boolean;
    showNotches?: boolean;
    onAction?: (event: HandleActionEvent) => void;
    visible?: boolean;
    configOrder?: number;
}
export declare function SmartHandleProvider({ children, nodeWidth: _nodeWidth, nodeHeight: _nodeHeight, }: {
    children: React.ReactNode;
    nodeWidth?: number;
    nodeHeight?: number;
}): import("react/jsx-runtime").JSX.Element;
export declare function SmartHandle({ type, id, defaultPosition, handleType, style, className, nodeWidth, nodeHeight, label, labelIcon, labelBackgroundColor, showButton, selected, showNotches, onAction, visible, configOrder, ...rest }: SmartHandleProps): import("react/jsx-runtime").JSX.Element;
export declare function SmartSourceHandle(props: Omit<SmartHandleProps, 'type'>): import("react/jsx-runtime").JSX.Element;
export declare function SmartTargetHandle(props: Omit<SmartHandleProps, 'type'>): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=SmartHandle.d.ts.map