import { ThyDragDropEvent , ThyDragOverEvent , ThyDragStartEvent } from 'ngx-tethys/drag-drop' ; import { InjectionToken } from '@angular/core' ; import { ThyTreeNode } from './tree-node.class' ; import { ThyTreeIcons } from './tree.class' ; export interface ThyTreeAbstractComponent { thyMultiple : boolean ; thyDraggable : boolean ; thyShowExpand : boolean ; treeNodes : ThyTreeNode [ ] ; thyIcons : ThyTreeIcons ; beforeDragOver ( event ) : boolean ; thyBeforeDragStart ( e ) : boolean ; thyBeforeDragDrop ( e ) : boolean ; onDragDrop ( event ) : void ; onDragStart ( event ) : void ; selectTreeNode ( node ) : void ; toggleTreeNode ( node ) : void ; isShowExpand ( node ) : boolean ; trackByFn ( number , node ) : string | number ; isSelected ( node ) : boolean ; } export const THY_TREE_ABSTRACT_TOKEN = new InjectionToken < ThyTreeAbstractComponent > ( 'thy-tree-abstract-token' ) ;