/**
 * Utils to render all g supported shape
 * https://github.com/antvis/g
 */
import { Circle, Group, Line, Polygon, Polyline, Rect, type BaseStyleProps, type CircleStyleProps, type DisplayObject, type LineStyleProps, type PolygonStyleProps, type PolylineStyleProps, type RectStyleProps, type TextStyleProps } from '@antv/g';
import { GuiIcon, type GuiIconCfg } from '../common/icons/gui-icon';
import { CustomText } from '../engine/CustomText';
export declare function renderRect(group: Group, style: RectStyleProps): Rect;
export declare function renderPolygon(group: Group, style: PolygonStyleProps): Polygon;
export declare function renderPolyline(group: Group, style: PolylineStyleProps): Polyline;
export declare function renderCircle(group: Group, style: CircleStyleProps): Circle;
/**
 * @description 如果在单元格内绘制, 是使用 cell.renderTextShape(options)
 */
export declare function renderText<T>(options: {
    group: Group;
    textShape?: DisplayObject;
    style: TextStyleProps;
    appendInfo?: T;
}): CustomText;
export declare function renderLine(group: Group, options: LineStyleProps): Line;
export declare function updateShapeAttr(shapeGroup: DisplayObject | undefined | (DisplayObject | undefined)[], styleName: DisplayObject['style'], styleValue: string | number): void;
export declare function renderIcon(group: Group, iconCfg: GuiIconCfg): GuiIcon;
export declare function renderTreeIcon(options: {
    group: Group;
    isCollapsed?: boolean | null;
    iconCfg: Omit<GuiIconCfg, 'name'>;
    onClick?: () => void;
}): GuiIcon;
export declare function batchSetStyle<T extends DisplayObject, S extends BaseStyleProps>(obj: T, style: S): void;
export declare function createOrUpdateRect(propertyPath: string, style: RectStyleProps): void;
