@balte/emberplus-connection
Version:
Javascript implementation of the Ember+ automation protocol
31 lines (30 loc) • 2.04 kB
TypeScript
import { EmberElement } from './EmberElement';
import { RelativeOID, RootElement, Collection } from '../types/types';
export { TreeElement, NumberedTreeNode, QualifiedElement, NumberedTreeNodeImpl, QualifiedElementImpl };
interface TreeElement<T extends EmberElement> {
parent?: RootElement;
contents: T;
children?: Collection<NumberedTreeNode<EmberElement>>;
}
interface NumberedTreeNode<T extends EmberElement> extends TreeElement<T> {
number: number;
}
interface QualifiedElement<T extends EmberElement> extends TreeElement<T> {
path: RelativeOID;
parent: undefined;
}
declare abstract class TreeElementImpl<T extends EmberElement> implements TreeElement<T> {
contents: T;
children?: Collection<NumberedTreeNode<EmberElement>> | undefined;
parent?: NumberedTreeNode<EmberElement> | QualifiedElement<import("./Parameter").Parameter> | QualifiedElement<import("./EmberNode").EmberNode> | QualifiedElement<import("./Matrix").Matrix> | QualifiedElement<import("./EmberFunction").EmberFunction> | QualifiedElement<import("./Template").Template> | undefined;
constructor(contents: T, children?: Collection<NumberedTreeNode<EmberElement>> | undefined, parent?: NumberedTreeNode<EmberElement> | QualifiedElement<import("./Parameter").Parameter> | QualifiedElement<import("./EmberNode").EmberNode> | QualifiedElement<import("./Matrix").Matrix> | QualifiedElement<import("./EmberFunction").EmberFunction> | QualifiedElement<import("./Template").Template> | undefined);
}
declare class NumberedTreeNodeImpl<T extends EmberElement> extends TreeElementImpl<T> implements NumberedTreeNode<T> {
number: number;
constructor(number: number, contents: T, children?: Collection<NumberedTreeNode<EmberElement>>, parent?: RootElement);
}
declare class QualifiedElementImpl<T extends EmberElement> extends TreeElementImpl<T> implements QualifiedElement<T> {
path: RelativeOID;
parent: undefined;
constructor(path: RelativeOID, contents: T, children?: Collection<NumberedTreeNode<EmberElement>>);
}