import { Context, ContextManager, Observable, Event } from '@zcomponent/core'; import { Editor } from '@zcomponent/core/lib/editor'; import { TransformControls } from './internal/controls/transformcontrols/transformcontrols'; import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'; import { Group } from 'three'; export declare class EditorContext extends Context { onSelectionChange: Event<[{ [id: string]: boolean; }]>; isElementSelected: (element: any) => boolean; findIDOfElement: (element: any) => string | undefined; editor: Editor | undefined; toolbar: Observable; transformControls: Observable | undefined, never>; orbitControls: Observable; helpersGroup: Observable; /** * Controls whether the transform controls and transform properties are disabled. * * When true, the following will be disabled: * - Transform controls visability * - Transform controls 'enabled' property * - Selection of objects in the editor * - Transform properties (position, rotation, scale) will be discarded */ selectionAndTransformPropsDisabled: Observable; constructor(ontextManager: ContextManager, constructorProps: {}); dispose: () => never; } /** * A toolbar for the editor. Displays buttons for common actions. * Can be used to add custom buttons. */ export declare class EditorToolbar { readonly dom: HTMLElement; constructor(dom: HTMLElement); /** * @param element An element to add to the toolbar. */ addElement(element: HTMLElement, order: number): void; /** * @param element An element to remove from the toolbar. */ removeElement(element: HTMLElement): void; } export declare function createIconRadio(icon: string, name: string): [HTMLLabelElement, HTMLInputElement]; /** * Gets the editors transform controls. */ export declare function useTransformControls(contextManager: ContextManager): Observable | undefined, never>; /** * Gets the editors orbit controls. */ export declare function useOrbitControls(contextManager: ContextManager): Observable; /** * Gets the editors toolbar. */ export declare function useToolbar(contextManager: ContextManager): Observable;