import { EmberElement } from './EmberElement.js'; import { RelativeOID, RootElement, Collection } from '../types/types.js'; export { TreeElement, NumberedTreeNode, QualifiedElement, NumberedTreeNodeImpl, QualifiedElementImpl }; interface TreeElement { parent?: RootElement; contents: T; children?: Collection>; } interface NumberedTreeNode extends TreeElement { number: number; } interface QualifiedElement extends TreeElement { path: RelativeOID; parent: undefined; } declare abstract class TreeElementImpl implements TreeElement { contents: T; children?: Collection> | undefined; parent?: RootElement | undefined; constructor(contents: T, children?: Collection> | undefined, parent?: RootElement | undefined); } declare class NumberedTreeNodeImpl extends TreeElementImpl implements NumberedTreeNode { number: number; constructor(number: number, contents: T, children?: Collection>, parent?: RootElement); } declare class QualifiedElementImpl extends TreeElementImpl implements QualifiedElement { path: RelativeOID; parent: undefined; constructor(path: RelativeOID, contents: T, children?: Collection>); } //# sourceMappingURL=Tree.d.ts.map