import DataSource, { DataSourceOptions } from "./DataSource"; import { DataSourceSchemaWithOptionsModel, DataSourceSchemaModel } from "./Schema"; export interface HierarchicalDataSourceOptions extends DataSourceOptions { schema?: HierarchicalDataSourceSchema; } export interface HierarchicalDataSourceSchema extends DataSourceSchemaWithOptionsModel { model?: HierarchicalDataSourceSchemaModel; } export interface HierarchicalDataSourceSchemaModel extends DataSourceSchemaModel { hasChildren?: any; children?: any; } export default class HierarchicalDataSource extends DataSource { constructor(options?: HierarchicalDataSourceOptions); remove(node: T): T; insert(index: number, model: any): T; private _find(method, value); get(id: number | string): T; getByUid(uid: string): T; }