import { Observable } from 'rxjs'; export type NodeContent = { leafs: T[]; nodes: T[]; }; export interface Dictionary { [Key: string]: T; } export interface INode { id: number; parentId: number; data: any; isLeaf: boolean; children: INode[]; } export interface IDataService { getNodeChildren(node: T): Observable>; createNode(parentNode: T, name: string): Observable; renameNode(node: T, newName: string): Observable; renameLeaf(node: T, newName: string): Observable; deleteNodes(nodes: T[]): Observable; deleteLeafs(nodes: T[]): Observable; uploadFiles(node: T, files: File[]): Observable; download(node: T): Observable; open(node: T): Observable; share(node: T): Observable; } export interface IHelperService { getName(data: T): string; } export declare enum AvialableView { List = "List", Icon = "Icon" } export interface NgeExplorerConfig { homeNodeName: string; }