import type { BaseStyleProps, DisplayObjectConfig, Group } from '@antv/g'; import type { ProceduralGeometry as GGeometry, Material as GMaterial } from '@antv/g-plugin-3d'; import { Mesh } from '@antv/g-plugin-3d'; import type { IMaterial, Plugin } from '@antv/g-plugin-device-renderer'; import type { BaseNodeStyleProps, Prefix } from '@antv/g6'; import { BaseNode } from '@antv/g6'; import { Material } from '../types'; /** * 3D 节点样式 * * 3D node style props */ export interface BaseNode3DStyleProps extends BaseNodeStyleProps, Prefix<'material', IMaterial> { geometry?: GGeometry; material?: GMaterial; texture?: string | TexImageSource; materialType?: Material['type']; } /** * 3D 节点基类 * * 3D node base class */ export declare abstract class BaseNode3D extends BaseNode { static defaultStyleProps: Partial; type: string; protected get plugin(): Plugin; protected get device(): import("@antv/g-device-api").Device; constructor(options: DisplayObjectConfig); render(attributes: Required, container: Group): void; protected getKeyStyle(attributes: Required): MeshStyleProps; protected drawKeyShape(attributes: Required, container?: Group): Mesh | undefined; protected abstract getGeometry(attributes: Required): GGeometry; protected getMaterial(attributes: Required): GMaterial; } export interface MeshStyleProps extends BaseStyleProps { x?: number | string; y?: number | string; z?: number | string; geometry: GGeometry; material: GMaterial; }