///
import { Rectangle } from "../common/vline";
import { ConnectorType, VBAShapeType } from "../common/enums";
import { GObject } from "./x_object";
import { VirtualTree } from "./graph_helpers/virtual_tree";
import { GAbstractEdge } from "./x_abstract_edge";
export declare class GVertex extends GObject {
get defaultClassName(): string | undefined;
/**
* 接続部分のXY座標を返します。
* @param type
* @param x
* @param y
*/
getContactPosition(type: ConnectorType, x: number, y: number): [number, number];
/**
* 与えられた位置から伸びた辺に対応する接続位置を返します。
* @param type
* @param x
* @param y
*/
getConnectorType(type: ConnectorType, x: number, y: number): ConnectorType;
/**
* 与えられた位置から伸びた辺に対応する接続位置がAutoだったときの実際の接続位置を返します。
* @param x
* @param y
*/
getContactAutoPosition(x: number, y: number): ConnectorType;
tryGetSVGText(): SVGTextElement | null;
update(): void;
/**
入辺配列を返します。
*/
get outgoingEdges(): GAbstractEdge[];
/**
出辺配列を返します。
*/
get incomingEdges(): GAbstractEdge[];
/**
* 出辺を挿入します。
* @param edge
* @param insertIndex
*/
insertOutcomingEdge(edge: GAbstractEdge, insertIndex?: number): void;
/**
* 出辺を削除します。
* @param edge
*/
removeOutcomingEdge(edge: GAbstractEdge): void;
/**
* 入辺を挿入します。
* @param edge
* @param insertIndex
*/
insertIncomingEdge(edge: GAbstractEdge, insertIndex?: number): void;
/**
* 入辺を削除します。
* @param edge
*/
removeIncomingEdge(edge: GAbstractEdge): void;
dispose(): void;
/**
* 親Vertex配列を返します。
*/
getParents(): GVertex[];
/**
親との間の辺を返します。
*/
get parentEdge(): GAbstractEdge | null;
/**
このVertexの親を返します。
*/
get parent(): GVertex | null;
/**
このVertexに親がいないときTrueを返します。
*/
get isNoParent(): boolean;
/**
出辺配列を返します。
*/
get children(): GVertex[];
/**
このVertexが葉のときTrueを返します。
*/
get isLeaf(): boolean;
/**
* このVertexを頂点とする仮想部分木を作成します。
*/
createVirtualTree(excludedEdgeDic?: Set): VirtualTree;
/**
このVertexの領域を返します。
*/
get region(): Rectangle;
protected get globalX(): number;
protected get globalY(): number;
get shape(): VBAShapeType;
/**
*
* @param id
*/
createVBACode(id: number): string[];
/**
* VBAコードでのこの図形を表すShape図形のVBAAdjustmentsプロパティを表します。
*/
protected get VBAAdjustments(): number[];
protected getVBAEditLine(): string;
get graph(): GObject | null;
updateSurfaceWithoutSVGText(): boolean;
}