export type OutlinerNodeParent = 'root' | OutlinerNode | null; export interface BehaviorOverride { condition?: () => boolean; priority?: number; behavior: Record; } export declare class OutlinerNode { uuid: string; export: boolean; locked: boolean; parent: OutlinerNodeParent; name: string; children?: OutlinerNode[]; old_name?: string; name_regex?: string | ((node: OutlinerNode) => string); static uuids: Record; static behavior_overrides: BehaviorOverride[]; constructor(uuid?: string); /** * Initialize node (register in uuids) */ init(rootArray?: OutlinerNode[]): this; /** * Get depth in hierarchy */ getDepth(): number; /** * Get parent array (root array or parent's children) */ getParentArray(rootArray?: OutlinerNode[]): OutlinerNode[] | undefined; /** * Remove from parent */ removeFromParent(rootArray?: OutlinerNode[]): this; /** * Add to parent or root */ addTo(group: OutlinerNode | 'root' | null, index?: number, rootArray?: OutlinerNode[]): this; /** * Sort in before another element */ sortInBefore(element: OutlinerNode, indexMod?: number, rootArray?: OutlinerNode[]): this; /** * Open up parent groups (for display) */ openUp(): this; /** * Sanitize name based on name_regex */ sanitizeName(): this; /** * Create unique name by appending number */ createUniqueName(others?: OutlinerNode[]): string | false; /** * Check if node matches filter */ matchesFilter(searchTermLowercase: string): boolean; /** * Check if node is child of another node */ isChildOf(group: OutlinerNode, maxLevels?: number): boolean; /** * Remove node */ remove(rootArray?: OutlinerNode[]): this; /** * Get type behavior (for extensibility) */ getTypeBehavior(flag: string): any; /** * Add behavior override */ static addBehaviorOverride(overrideOptions: BehaviorOverride): BehaviorOverride; } //# sourceMappingURL=outliner_node.d.ts.map