declare namespace Ext { export namespace data { export interface NodeInterfaceConfig { allowDrag?: boolean; allowDrop?: boolean; checked?: boolean; children?: Ext.data.NodeInterface[]; cls?: string; expandable?: boolean; expanded?: boolean; glyph?: number | string; href?: string; hrefTarget?: string; icon?: string; iconCls?: string; leaf?: boolean; qshowDelay?: number; qtip?: string; qtitle?: string; text?: string; } export class NodeInterface extends Ext.Base { public childNodes?: Ext.data.NodeInterface[]; public firstChild?: Ext.data.NodeInterface; public isNode?: boolean; public lastChild?: Ext.data.NodeInterface; public nextSibling?: Ext.data.NodeInterface; public parentNode?: Ext.data.NodeInterface; public previousSibling?: Ext.data.NodeInterface; public appendChild(node?: Ext.data.NodeInterface | Ext.data.NodeInterface[] | object, suppressEvents?: boolean, commit?: boolean): Ext.data.NodeInterface; public bubble(fn?: CallableFunction, scope?: object, args?: []): void; public cascade(spec?: object | CallableFunction, scope?: object, args?: [], after?: CallableFunction): void; public collapse(recursive?: boolean, callback?: CallableFunction, scope?: object): void; public collapseChildren(recursive?: CallableFunction, callback?: CallableFunction, scope?: object): void; public contains(node?: Ext.data.NodeInterface): boolean; public copy(newId?: string, session?: Ext.data.Session, deep?: boolean): Ext.data.NodeInterface; public createNode(node?: object): Ext.data.NodeInterface; public eachChild(fn?: CallableFunction, scope?: object, args?: []): void; public erase(): void; public expand(recursive?: boolean, callback?: CallableFunction, scope?: object): void; public expandChildren(recursive?: boolean, callback?: CallableFunction, scope?: object): void; public findChild(attribute?: string, value?: object, deep?: boolean): Ext.data.NodeInterface; public findChildBy(fn?: CallableFunction, scope?: object, deep?: boolean): Ext.data.NodeInterface; public fireEvent(eventName?: string, args?: object): boolean; public getChildAt(index?: number): Ext.data.NodeInterface; public getDepth(): void; public getOwnerTree(): Ext.tree.Panel; public getPath(field?: string, separator?: string): string; public getTreeStore(): Ext.data.TreeStore; public hasChildNodes(): boolean; public indexOf(child?: Ext.data.NodeInterface): number; public indexOfId(id?: string): number; public insertBefore(node?: Ext.data.NodeInterface | Ext.data.NodeInterface[] | object, refNode?: Ext.data.NodeInterface): Ext.data.NodeInterface; public insertChild(index?: number, node?: Ext.data.NodeInterface | object): Ext.data.NodeInterface; public isAncestor(node?: Ext.data.NodeInterface): boolean; public isBranchLoaded(): boolean; public isExpandable(): boolean; public isExpanded(): boolean; public isFirst(): boolean; public isLast(): boolean; public isLeaf(): boolean; public isLoaded(): boolean; public isLoading(): boolean; public isRoot(): boolean; public isVisible(): boolean; public onRegisterTreeNode(treeStore?: Ext.data.TreeStore): void; public onUnregisterTreeNode(treeStore?: Ext.data.TreeStore): void; public remove(erase?: boolean): Ext.data.NodeInterface; public removeAll(erase?: boolean): Ext.data.NodeInterface; public removeChild(node?: Ext.data.NodeInterface, erase?: boolean): Ext.data.NodeInterface; public replaceChild(newChild?: Ext.data.NodeInterface, oldChild?: Ext.data.NodeInterface): Ext.data.NodeInterface; public serialize(writerParam?: object): void; public sort(sortFn?: CallableFunction, recursive?: boolean, suppressEvent?: boolean): void; public updateInfo(commit?: boolean, info?: object): string[]; public static decorate(modelClass?: Ext.Class | Ext.data.Model): void; } } }