import { i18n } from 'i18next'; import { NodeBase, RenderManager, RenderManagerBase } from './index'; import { MetaManager } from './meta/MetaManager'; export declare let i18Next: i18n; /** * Functions and objects to append viewer UI. */ export declare namespace Ui { /** * Context object for FastPropsList UI component */ interface FastPropsListContext { /** * Fetch and display element fast properties by elNums. * @param elNums - Element numbers. */ fetchPropsByNumbers(elNums: number[]): void; } /** * Context object for PropsTree UI component */ interface PropsTreeContext { /** * Fetch and display element properties by elNum. * @param elNum - Element number. * @param forceExpand - Expand all nodes in properties tree or not. */ fetchPropsByNumbers(elNum: number, forceExpand?: boolean): void; } /** * Appends FastPropsList UI component inside DOM container. * @param container - Container element or element id. * @param metaManager - {@link MetaManager} instance. * @return - {@link FastPropsListContext} instance. */ function appendFastPropsList(container: HTMLElement | string, metaManager: MetaManager): FastPropsListContext; /** * Appends PropsTree UI component inside DOM container. * @param container - Container element or element id. * @param metaManager - {@link MetaManager} instance. * @return - {@link PropsTreeContext} instance. * @deprecated - Use {@link appendPropsTree2} */ function appendPropsTree(container: HTMLElement | string, metaManager: MetaManager): PropsTreeContext; /** * Appends PropsTree UI component inside DOM container. * @param container - Container element or element id. * @param renderManager - {@link RenderManager} instance. * @param enableFastProps - Show fast properties tools on the PropsTree rows. * @return - {@link PropsTreeContext} instance. */ function appendPropsTree2(container: HTMLElement | string, renderManager: RenderManager, enableFastProps?: boolean): PropsTreeContext; /** * Context object for MetaTree UI component */ interface MetaTreeContext { /** * Select element node inside tree by elNum. * @param elNums - Element number(numbers). * @param forceExpand - Expand nodes on path to selected element or not. */ selectEls(elNums: number | number[], forceExpand?: boolean): void; /** * Unselect tree nodes. */ clearSelection(): void; /** * Expand all tree nodes. */ expandAll(): void; /** * Collapse all tree nodes. */ collapseAll(): void; /** * Enable or disable checkbox selection mode for tree nodes. * @param checkboxSelectionMode - checkbox selection mode flag. */ setCheckboxSelection(checkboxSelectionMode: boolean): void; /** * Update meta tree UI component. */ update(): void; /** * Force meta tree filter action. * @param isFilterMode - is tree will be forced to filter mode. */ updateFilter(isFilterMode?: boolean): void; } /** * Callback function for Selected MetaTree event. * @param elNums - Element numbers for selected tree nodes. */ type SelectedMetaTreeCallback = (event: { elNums: number[]; }) => void; /** * Callback function for Visibility and State Changed MetaTree event. * @param elNums - Element numbers for selected tree nodes. */ type ChangedMetaTreeCallback = (event: { elNums: number[]; }) => void; /** * Callback function for node context menu event. * @param originalEvent - MouseEvent object. * @param node - Node with context menu option called. */ type NodeContextMenuCallback = (event: { originalEvent: MouseEvent; node: NodeBase; }) => void; /** * Appends MetaTree UI component inside DOM container. * @param container - Container element or element id. * @param metaManager - {@link MetaManager} instance. * @param renderManager - Optional {@link RenderManagerBase} instance. If presented then meta tree component will interact with RenderManager and SceneManager. * @param events - Object for setting event callbacks for meta tree UI component. * @return - {@link MetaTreeContext} instance. */ function appendMetaTree(container: HTMLElement | string, metaManager: MetaManager, renderManager?: RenderManagerBase, filterCallback?: (node: NodeBase) => boolean, events?: { selected?: SelectedMetaTreeCallback; visibility?: ChangedMetaTreeCallback; nodeContextMenu?: NodeContextMenuCallback; }): MetaTreeContext; /** * Init multilingual locales system and set i18n object. * @param i18n - Exist i18next object. If no object is presented, the function will create its own object. */ function setI18next(i18n?: i18n | undefined): void; }