import { SwitchNodeBasePlugin, ObjectSwitchNode } from 'threepipe'; import { GridItemListPlugin } from './GridItemListPlugin'; /** * Switch Node Plugin (Basic UI) * This plugin allows you to configure object variations in a file and apply them in the scene. * Each SwitchNode is a parent object with multiple direct children. Only one child is visible at a time. * This works by toggling the `visible` property of the children of a parent object. * The plugin interfaces with the picking plugin and also provides uiConfig to show and edit the variations. * It also provides a function to create snapshot previews of individual variations. This creates a limited render of the object with the selected child visible. * To get a proper render, it's better to render it offline and set the image as a preview. * This functionality is inherited from `SwitchNodeBasePlugin`. * * Additionally, this plugin adds a Grid UI using {@link GridItemListPlugin} in the DOM over the viewer canvas to show various object variations and allow the user to select them. * The UI can also be used in the editor to edit the variations and apply them. */ export declare class SwitchNodePlugin extends SwitchNodeBasePlugin { static readonly PluginType = "SwitchNodePlugin"; enableEditContextMenus: boolean; dependencies: (typeof GridItemListPlugin)[]; protected _refreshUi(): boolean; nodeItemContextMenuItems: (variation: ObjectSwitchNode, uuid: string) => { Select: () => void; }; nodeContextMenuItems: (variation: ObjectSwitchNode) => { "Rename Title": () => Promise; "Rename Node": () => Promise; "Remove Section": () => Promise; }; } //# sourceMappingURL=SwitchNodePlugin.d.ts.map