import { ReadableConceptTree as ReadableConceptTreeProto, ReadableConceptTreeNode as NodeProto, ReadableConceptTreeNodeMap as MapProto, ReadableConceptTreeNodeList as ListProto, ReadableConceptTreeNodeReadableConcept as ReadableConceptProto } from "typedb-protocol/proto/answer"; import { Type } from "../../api/concept/type/Type"; import { Attribute } from "../../api/concept/thing/Attribute"; import { Value } from "../../api/concept/value/Value"; import { JSON, JSONArray, JSONObject } from "../../api/answer/JSON"; export declare class ReadableConceptTreeImpl { private readonly _root; constructor(root: ReadableConceptTreeImpl.Node.NodeMap); asJSON(): JSONObject; } export declare namespace ReadableConceptTreeImpl { function of(proto: ReadableConceptTreeProto): ReadableConceptTreeImpl; type Node = Node.NodeMap | Node.NodeList | Node.Leaf; namespace Node { function of(proto: NodeProto): Node; class NodeMap { private readonly map; constructor(map: Map); asObject(): JSONObject; } namespace NodeMap { function of(proto: MapProto): NodeMap; } class NodeList { private readonly list; constructor(list: Node[]); asArray(): JSONArray; } namespace NodeList { function of(proto: ListProto): NodeList; } class Leaf { private readonly readableConcept; constructor(readableConcept: ReadableConcept | null); asJSON(): JSON; } namespace Leaf { function of(proto: ReadableConceptProto): Leaf; } class ReadableConcept { private readonly KEY_TYPE; private readonly KEY_VALUE; private readonly KEY_VALUE_TYPE; private readonly KEY_TYPE_LABEL; private readonly KEY_TYPE_ROOT; private readonly concept; constructor(concept: Type | Attribute | Value); asObject(): JSONObject; typeAsObject(type: Type): JSONObject; } namespace ReadableConcept { function of(proto: ReadableConceptProto): ReadableConcept | null; } } }