///
import GraphEdge from "./graph-edge";
import type Keyable from "./keyable";
export default class GraphVertex implements Keyable {
readonly value: T;
degree: number;
readonly edges: GraphEdge[];
constructor(value: T);
addEdge(graphEdge: GraphEdge): this;
deleteEdge(graphEdge: GraphEdge): this;
getNeighbors(): GraphVertex[];
getEdges(): GraphEdge[];
/**
* @deprecated Just index the property directly.
* @returns
*/
getDegree(): number;
hasEdge(graphEdge: GraphEdge): boolean;
hasNeighbor(graphVertex: GraphVertex): boolean;
findEdge(graphVertex: GraphVertex): GraphEdge | undefined;
deleteAllEdges(): this;
getKey(): string;
}