import { default as LogicFlow, HtmlNodeModel } from '@logicflow/core';
import { Model } from '@logicflow/core/lib/model';
export type CustomProperties = {
    width?: number;
    height?: number;
    radius?: number;
    refX?: number;
    refY?: number;
    style?: LogicFlow.CommonTheme;
    textStyle?: LogicFlow.TextNodeTheme;
};
export declare const NODE_WIDTH = 100;
export declare const NODE_HEIGHT = 28;
interface BaseModelIProps {
    [key: string]: any;
}
export declare class BaseNodeModel extends HtmlNodeModel<BaseModelIProps> {
    getTextStyle(): LogicFlow.TextNodeTheme;
    getNodeStyle(): LogicFlow.CommonTheme;
    setAttributes(): void;
    setHeight(val: number): void;
    getOutlineStyle(): LogicFlow.OutlineTheme;
    getDefaultAnchor(): ({
        x: number;
        y: number;
        id: string;
        edgeAddable: boolean;
        type: string;
    } | {
        x: number;
        y: number;
        id: string;
        type: string;
        edgeAddable?: undefined;
    })[];
    addNode(node: any, nextY?: number): void;
    isAllowConnectedAsTarget(_source: BaseNodeModel, _sourceAnchor?: Model.AnchorConfig, _targetAnchor?: Model.AnchorConfig, _edgeId?: string): Model.ConnectRuleResult;
    /**
     * 处理连线时是否允许连线到目标节点
     * @param target
     * @param _sourceAnchor
     * @param _targetAnchor
     * @param _edgeId
     */
    isAllowConnectedAsSource(target: BaseNodeModel, _sourceAnchor?: Model.AnchorConfig, _targetAnchor?: Model.AnchorConfig, _edgeId?: string): Model.ConnectRuleResult;
}
export default BaseNodeModel;
