import { Node, NodeDefinition } from "../model/model"; import { Position } from "../model/position"; import { Issue } from "../validation"; import { PossiblyNamed, ReferenceByName } from "../model/naming"; export declare abstract class NodeAdapter extends Node { abstract parent?: NodeAdapter; abstract get nodeDefinition(): NodeDefinition; abstract get(...path: string[]): NodeAdapter | undefined; abstract getAttributes(): { [name: string]: any; }; getChildren(name?: string | symbol): NodeAdapter[]; abstract getId(): string; abstract getIssues(property?: string): Issue[] | undefined; abstract getPosition(property?: string): Position | undefined; getRole(): string | symbol | undefined; /** * @deprecated replaced by `isOfKnownType("EntityDeclaration")` */ abstract isDeclaration(): boolean; abstract isExpression(): boolean; abstract isStatement(): boolean; equals(other: NodeAdapter | undefined): boolean; abstract isOfKnownType(name: string): any; } export declare class AugmentedNode extends NodeAdapter { protected node: Node; constructor(node: Node); get parent(): AugmentedNode | undefined; get nodeDefinition(): NodeDefinition; setChild(name: string, child: Node): void; addChild(name: string, child: Node): void; setAttributeValue(name: string | symbol, value: any): void; getAttributeValue(name: string | symbol): any; get(): NodeAdapter | undefined; getAttributes(): { [p: string]: any; }; getId(): string; getIssues(): Issue[] | undefined; getPosition(): Position | undefined; isDeclaration(): boolean; isExpression(): boolean; isStatement(): boolean; equals(other: NodeAdapter | undefined): boolean; isOfKnownType(): boolean; } export declare class TraceNode extends Node implements PossiblyNamed { nodeAdapter: NodeAdapter; parent?: TraceNode; constructor(nodeAdapter: NodeAdapter); get name(): string | undefined; getType(): string; getSimpleType(): string; getRole(): string | symbol | undefined; getPosition(): Position | undefined; get position(): Position | undefined; get nodeDefinition(): NodeDefinition; getAttributes(): { [name: string]: any; }; doGetAttributeValue(attrName: string): any; protected doGetChildOrChildren(name: string | symbol): Node | Node[] | undefined; getReference(name: string | symbol): ReferenceByName | undefined; private computeParentForReference; private makeChild; getRoot(): TraceNode; getPathFromRoot(): (string | number)[]; protected make(node: NodeAdapter): TraceNode; getChildren(role?: string | symbol): TraceNode[]; get children(): TraceNode[]; equals(node: TraceNode): boolean; isOfKnownType(name: string): boolean; /** * @deprecated replaced by `isOfKnownType("EntityDeclaration")` */ isDeclaration(): boolean; isExpression(): boolean; isStatement(): boolean; getDescendant(path: (string | number)[]): Node | undefined; }