import { EventEmitter } from 'cellx'; export interface IItem { [name: string]: any; parent?: IItem | null; children?: Array; } export declare function setParent(items: Array, parent?: T | null): Array; export declare class ObservableTreeList extends EventEmitter { _items: Array; readonly length: number; constructor(items?: Array); get(indexpath: Array | number): T | undefined; set(indexpath: Array | number, item: T): this; forEach(callback: (item: T, index: number, list: ObservableTreeList) => void, context?: any): void; map(callback: (item: T, index: number, list: ObservableTreeList) => any, context?: any): Array; filter(callback: (item: T, index: number, list: ObservableTreeList) => boolean | void, context?: any): Array; every(callback: (item: T, index: number, list: ObservableTreeList) => boolean | void, context?: any): boolean; some(callback: (item: T, index: number, list: ObservableTreeList) => boolean | void, context?: any): boolean; reduce(callback: (accumulator: R, item: T, index: number, list: ObservableTreeList) => R, initialValue?: R): R; reduceRight(callback: (accumulator: R, item: T, index: number, list: ObservableTreeList) => R, initialValue?: R): any; toArray(): Array; }