import LogicFlow, { HtmlNodeModel, IHtmlNodeProperties, BaseNodeModel, GraphModel } from '@logicflow/core';
import NodeConfig = LogicFlow.NodeConfig;
export type NodeAction = {
    name: string;
    callback?: (node: BaseNodeModel, graph: GraphModel) => void;
};
export interface ReactCustomProperties extends IHtmlNodeProperties {
    width?: number;
    height?: number;
    radius?: number;
    refX?: number;
    refY?: number;
    style?: LogicFlow.CommonTheme;
    textStyle?: LogicFlow.TextNodeTheme;
    _showTitle?: boolean;
    _title?: string;
    _icon?: string;
    _titleHeight?: number;
    _expanded?: boolean;
}
export declare class ReactNodeModel<P extends ReactCustomProperties = ReactCustomProperties> extends HtmlNodeModel<P> {
    private __baseHeight?;
    __actions?: {
        name: string;
        callback?: (node: BaseNodeModel, graph: GraphModel) => void;
    }[];
    constructor(data: NodeConfig<P>, graphModel: GraphModel);
    setAttributes(): void;
    getTextStyle(): LogicFlow.TextNodeTheme;
    getNodeStyle(): LogicFlow.CommonTheme;
    setNodeActions(actions: NodeAction[]): void;
}
export default ReactNodeModel;
