import { Point } from "pixi.js"; import { DBase, DBaseOptions } from "./d-base"; import { DContentOptions } from "./d-content"; import { DPane, DPaneOptions, DThemePane } from "./d-pane"; import { DTreeNode } from "./d-tree-node"; import { DTreeNodeIteratee } from "./d-tree-node-iteratee"; import { DTreeDataSelection } from "./d-tree-data-selection"; import { DTreeData, DTreeDataLike, DTreeDataOptions } from "./d-tree-data"; import { DTreeItemUpdater, DTreeItemUpdaterOptions } from "./d-tree-item-updater"; export interface DTreeOptions = DTreeData, THEME extends DThemeTree = DThemeTree, CONTENT_OPTIONS extends DBaseOptions = DContentOptions> extends DPaneOptions { /** * An alias for {@link data}. */ value?: NODE[]; /** * An alias for {@link data}. */ nodes?: NODE[]; /** * A data options. */ data?: NODE[] | DTreeDataOptions | DATA; /** * An updater options. */ updater?: DTreeItemUpdaterOptions; } export interface DThemeTree extends DThemePane { } export declare class DTree = DTreeData, THEME extends DThemeTree = DThemeTree, CONTENT_OPTIONS extends DBaseOptions = DContentOptions, OPTIONS extends DTreeOptions = DTreeOptions> extends DPane implements DTreeDataLike { protected static WORK_ON_CLICK?: Point; protected _data?: DATA; protected _updater?: DTreeItemUpdater; constructor(options?: OPTIONS); protected onContentChange(): void; onResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void; get updater(): DTreeItemUpdater; protected newUpdater(data: DATA, content: DBase, options?: OPTIONS): DTreeItemUpdater; get data(): DATA; protected toData(options?: OPTIONS): DATA; update(forcibly?: boolean): void; lock(): void; unlock(callIfNeeded: boolean): void; get selection(): DTreeDataSelection; get value(): NODE[]; set value(value: NODE[]); get nodes(): NODE[]; set nodes(nodes: NODE[]); toggle(target: NODE): boolean; expand(target: NODE): boolean; collapse(target: NODE): boolean; expandAll(): boolean; collapseAll(): boolean; isCollapsed(target: NODE): boolean; isExpanded(target: NODE): boolean; clear(): boolean; remove(target: NODE): boolean; add(target: NODE, parent?: NODE): boolean; addBefore(target: NODE, sibling: NODE): boolean; addAfter(target: NODE, sibling: NODE): boolean; each(iteratee: DTreeNodeIteratee): void; protected onKeyDown(e: KeyboardEvent): boolean; protected getType(): string; }