graphology-types
Version:
TypeScript declaration for graphology.
1,681 lines (1,618 loc) • 56 kB
TypeScript
/**
* Graphology Typings
* ===================
*
* Graphology TypeScript declaration.
*/
/**
* Miscellaneous types.
*/
type Attributes = {[name: string]: any};
type GraphType = 'mixed' | 'directed' | 'undirected';
type UpdateHints<ItemAttributes extends Attributes = Attributes> = {
attributes?: Array<keyof ItemAttributes>;
};
type GraphOptions = {
allowSelfLoops?: boolean;
multi?: boolean;
type?: GraphType;
};
type AdjacencyEntry<
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes
> = {
source: string;
target: string;
sourceAttributes: NodeAttributes;
targetAttributes: NodeAttributes;
edge: string;
edgeAttributes: EdgeAttributes;
undirected: boolean;
};
type NodeEntry<NodeAttributes extends Attributes = Attributes> = {
node: string;
attributes: NodeAttributes;
};
type NodeMergeResult = [key: string, nodeWasAdded: boolean];
type NeighborEntry<NodeAttributes extends Attributes = Attributes> = {
neighbor: string;
attributes: NodeAttributes;
};
type EdgeEntry<
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes
> = {
edge: string;
attributes: EdgeAttributes;
source: string;
target: string;
sourceAttributes: NodeAttributes;
targetAttributes: NodeAttributes;
undirected: boolean;
};
type EdgeMergeResult = [
key: string,
edgeWasAdded: boolean,
sourceWasAdded: boolean,
targetWasAdded: boolean
];
type AdjacencyIterationCallback<
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes
> = (
node: string,
neighbor: string,
nodeAttributes: NodeAttributes,
neighborAttributes: NodeAttributes,
edge: string,
edgeAttributes: EdgeAttributes,
undirected: boolean
) => void;
type AdjacencyIterationCallbackWithOrphans<
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes
> = (
node: string,
neighbor: string | null,
nodeAttributes: NodeAttributes,
neighborAttributes: NodeAttributes | null,
edge: string | null,
edgeAttributes: EdgeAttributes | null,
undirected: boolean | null
) => void;
type NodeIterationCallback<NodeAttributes extends Attributes = Attributes> = (
node: string,
attributes: NodeAttributes
) => void;
type NodePredicate<NodeAttributes extends Attributes = Attributes> = (
node: string,
attributes: NodeAttributes
) => boolean | void;
type NodeMapper<T, NodeAttributes extends Attributes = Attributes> = (
node: string,
attributes: NodeAttributes
) => T;
type NodeReducer<T, NodeAttributes extends Attributes = Attributes> = (
accumulator: T,
node: string,
attributes: NodeAttributes
) => T;
type NeighborIterationCallback<NodeAttributes extends Attributes = Attributes> =
(neighbor: string, attributes: NodeAttributes) => void;
type NeighborPredicate<NodeAttributes extends Attributes = Attributes> = (
neighbor: string,
attributes: NodeAttributes
) => boolean | void;
type NeighborMapper<T, NodeAttributes extends Attributes = Attributes> = (
neighbor: string,
attributes: NodeAttributes
) => T;
type NeighborReducer<T, NodeAttributes extends Attributes = Attributes> = (
accumulator: T,
neighbor: string,
attributes: NodeAttributes
) => T;
type EdgeIterationCallback<
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes
> = (
edge: string,
attributes: EdgeAttributes,
source: string,
target: string,
sourceAttributes: NodeAttributes,
targetAttributes: NodeAttributes,
undirected: boolean
) => void;
type EdgePredicate<
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes
> = (
edge: string,
attributes: EdgeAttributes,
source: string,
target: string,
sourceAttributes: NodeAttributes,
targetAttributes: NodeAttributes,
undirected: boolean
) => boolean | void;
type EdgeMapper<
T,
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes
> = (
edge: string,
attributes: EdgeAttributes,
source: string,
target: string,
sourceAttributes: NodeAttributes,
targetAttributes: NodeAttributes,
undirected: boolean
) => T;
type EdgeReducer<
T,
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes
> = (
accumulator: T,
edge: string,
attributes: EdgeAttributes,
source: string,
target: string,
sourceAttributes: NodeAttributes,
targetAttributes: NodeAttributes,
undirected: boolean
) => T;
type SerializedNode<NodeAttributes extends Attributes = Attributes> = {
key: string;
attributes?: NodeAttributes;
};
type SerializedEdge<EdgeAttributes extends Attributes = Attributes> = {
key?: string;
source: string;
target: string;
attributes?: EdgeAttributes;
undirected?: boolean;
};
type SerializedGraph<
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes,
GraphAttributes extends Attributes = Attributes
> = {
attributes: GraphAttributes;
options: GraphOptions;
nodes: Array<SerializedNode<NodeAttributes>>;
edges: Array<SerializedEdge<EdgeAttributes>>;
};
/**
* Event Emitter typings for convience.
* @note Taken from here: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/events/index.d.ts
*/
type Listener = (...args: any[]) => void;
type EventsMapping = Record<string, Listener>;
type AttributeUpdateType = 'set' | 'remove' | 'replace' | 'merge' | 'update';
type AttributeUpdatePayload<ItemAttributes extends Attributes = Attributes> =
| {
type: 'set';
key: string;
attributes: ItemAttributes;
name: keyof ItemAttributes;
}
| {
type: 'remove';
key: string;
attributes: ItemAttributes;
name: keyof ItemAttributes;
}
| {
type: 'replace';
key: string;
attributes: ItemAttributes;
}
| {
type: 'merge';
key: string;
attributes: ItemAttributes;
data: ItemAttributes;
}
| {
type: 'update';
key: string;
attributes: ItemAttributes;
};
type GraphEvents<
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes,
GraphAttributes extends Attributes = Attributes
> = {
nodeAdded(payload: {key: string; attributes: NodeAttributes}): void;
edgeAdded(payload: {
key: string;
source: string;
target: string;
attributes: EdgeAttributes;
undirected: boolean;
}): void;
nodeDropped(payload: {key: string; attributes: NodeAttributes}): void;
edgeDropped(payload: {
key: string;
source: string;
target: string;
attributes: EdgeAttributes;
undirected: boolean;
}): void;
cleared(): void;
edgesCleared(): void;
attributesUpdated(
payload: Omit<AttributeUpdatePayload<GraphAttributes>, 'key'>
): void;
nodeAttributesUpdated(payload: AttributeUpdatePayload<NodeAttributes>): void;
edgeAttributesUpdated(payload: AttributeUpdatePayload<EdgeAttributes>): void;
eachNodeAttributesUpdated(payload: {
hints: UpdateHints<NodeAttributes>;
}): void;
eachEdgeAttributesUpdated(payload: {
hints: UpdateHints<EdgeAttributes>;
}): void;
};
declare class GraphEventEmitter<Events extends EventsMapping> {
static listenerCount<Events extends EventsMapping>(
emitter: GraphEventEmitter<Events>,
type: string | number
): number;
static defaultMaxListeners: number;
eventNames<Event extends keyof Events>(): Array<Event>;
setMaxListeners(n: number): this;
getMaxListeners(): number;
emit<Event extends keyof Events>(
type: Event,
...args: Parameters<Events[Event]>
): boolean;
addListener<Event extends keyof Events>(
type: Event,
listener: Events[Event]
): this;
on<Event extends keyof Events>(type: Event, listener: Events[Event]): this;
once<Event extends keyof Events>(type: Event, listener: Events[Event]): this;
prependListener<Event extends keyof Events>(
type: Event,
listener: Events[Event]
): this;
prependOnceListener<Event extends keyof Events>(
type: Event,
listener: Events[Event]
): this;
removeListener<Event extends keyof Events>(
type: Event,
listener: Events[Event]
): this;
off<Event extends keyof Events>(type: Event, listener: Events[Event]): this;
removeAllListeners<Event extends keyof Events>(type?: Event): this;
listeners<Event extends keyof Events>(type: Event): Events[Event][];
listenerCount<Event extends keyof Events>(type: Event): number;
rawListeners<Event extends keyof Events>(type: Event): Events[Event][];
}
/**
* Main interface.
*/
declare abstract class AbstractGraph<
NodeAttributes extends Attributes = Attributes,
EdgeAttributes extends Attributes = Attributes,
GraphAttributes extends Attributes = Attributes
> extends GraphEventEmitter<
GraphEvents<NodeAttributes, EdgeAttributes, GraphAttributes>
> {
// Constructor
constructor(options?: GraphOptions);
// Members
order: number;
size: number;
directedSize: number;
undirectedSize: number;
type: GraphType;
multi: boolean;
allowSelfLoops: boolean;
implementation: string;
selfLoopCount: number;
directedSelfLoopCount: number;
undirectedSelfLoopCount: number;
// Read methods
hasNode(node: unknown): boolean;
hasDirectedEdge(edge: unknown): boolean;
hasDirectedEdge(source: unknown, target: unknown): boolean;
hasUndirectedEdge(edge: unknown): boolean;
hasUndirectedEdge(source: unknown, target: unknown): boolean;
hasEdge(edge: unknown): boolean;
hasEdge(source: unknown, target: unknown): boolean;
directedEdge(source: unknown, target: unknown): string | undefined;
undirectedEdge(source: unknown, target: unknown): string | undefined;
edge(source: unknown, target: unknown): string | undefined;
inDegree(node: unknown): number;
outDegree(node: unknown): number;
inboundDegree(node: unknown): number;
outboundDegree(node: unknown): number;
directedDegree(node: unknown): number;
undirectedDegree(node: unknown): number;
degree(node: unknown): number;
inDegreeWithoutSelfLoops(node: unknown): number;
outDegreeWithoutSelfLoops(node: unknown): number;
inboundDegreeWithoutSelfLoops(node: unknown): number;
outboundDegreeWithoutSelfLoops(node: unknown): number;
directedDegreeWithoutSelfLoops(node: unknown): number;
undirectedDegreeWithoutSelfLoops(node: unknown): number;
degreeWithoutSelfLoops(node: unknown): number;
source(edge: unknown): string;
target(edge: unknown): string;
extremities(edge: unknown): [string, string];
opposite(node: unknown, edge: unknown): string;
isUndirected(edge: unknown): boolean;
isDirected(edge: unknown): boolean;
isSelfLoop(edge: unknown): boolean;
hasExtremity(edge: unknown, node: unknown): boolean;
areNeighbors(source: unknown, target: unknown): boolean;
areUndirectedNeighbors(source: unknown, target: unknown): boolean;
areDirectedNeighbors(source: unknown, target: unknown): boolean;
areInNeighbors(source: unknown, target: unknown): boolean;
areOutNeighbors(source: unknown, target: unknown): boolean;
areInboundNeighbors(source: unknown, target: unknown): boolean;
areOutboundNeighbors(source: unknown, target: unknown): boolean;
// Mutation methods
addNode(node: unknown, attributes?: NodeAttributes): string;
mergeNode(
node: unknown,
attributes?: Partial<NodeAttributes>
): NodeMergeResult;
updateNode(
node: unknown,
updater?: (attributes: Partial<NodeAttributes>) => NodeAttributes
): NodeMergeResult;
addEdge(
source: unknown,
target: unknown,
attributes?: EdgeAttributes
): string;
mergeEdge(
source: unknown,
target: unknown,
attributes?: Partial<EdgeAttributes>
): EdgeMergeResult;
updateEdge(
source: unknown,
target: unknown,
updater?: (attributes: Partial<EdgeAttributes>) => EdgeAttributes
): EdgeMergeResult;
addDirectedEdge(
source: unknown,
target: unknown,
attributes?: EdgeAttributes
): string;
mergeDirectedEdge(
source: unknown,
target: unknown,
attributes?: Partial<EdgeAttributes>
): EdgeMergeResult;
updateDirectedEdge(
source: unknown,
target: unknown,
updater?: (attributes: Partial<EdgeAttributes>) => EdgeAttributes
): EdgeMergeResult;
addUndirectedEdge(
source: unknown,
target: unknown,
attributes?: EdgeAttributes
): string;
mergeUndirectedEdge(
source: unknown,
target: unknown,
attributes?: Partial<EdgeAttributes>
): EdgeMergeResult;
updateUndirectedEdge(
source: unknown,
target: unknown,
updater?: (attributes: Partial<EdgeAttributes>) => EdgeAttributes
): EdgeMergeResult;
addEdgeWithKey(
edge: unknown,
source: unknown,
target: unknown,
attributes?: EdgeAttributes
): string;
mergeEdgeWithKey(
edge: unknown,
source: unknown,
target: unknown,
attributes?: Partial<EdgeAttributes>
): EdgeMergeResult;
updateEdgeWithKey(
edge: unknown,
source: unknown,
target: unknown,
updater?: (attributes: Partial<EdgeAttributes>) => EdgeAttributes
): EdgeMergeResult;
addDirectedEdgeWithKey(
edge: unknown,
source: unknown,
target: unknown,
attributes?: EdgeAttributes
): string;
mergeDirectedEdgeWithKey(
edge: unknown,
source: unknown,
target: unknown,
attributes?: Partial<EdgeAttributes>
): EdgeMergeResult;
updateDirectedEdgeWithKey(
edge: unknown,
source: unknown,
target: unknown,
updater?: (attributes: Partial<EdgeAttributes>) => EdgeAttributes
): EdgeMergeResult;
addUndirectedEdgeWithKey(
edge: unknown,
source: unknown,
target: unknown,
attributes?: EdgeAttributes
): string;
mergeUndirectedEdgeWithKey(
edge: unknown,
source: unknown,
target: unknown,
attributes?: Partial<EdgeAttributes>
): EdgeMergeResult;
updateUndirectedEdgeWithKey(
edge: unknown,
source: unknown,
target: unknown,
updater?: (attributes: Partial<EdgeAttributes>) => EdgeAttributes
): EdgeMergeResult;
dropNode(node: unknown): void;
dropEdge(edge: unknown): void;
dropEdge(source: unknown, target: unknown): void;
dropDirectedEdge(source: unknown, target: unknown): void;
dropUndirectedEdge(source: unknown, target: unknown): void;
clear(): void;
clearEdges(): void;
// Graph attribute methods
getAttribute<AttributeName extends keyof GraphAttributes>(
name: AttributeName
): GraphAttributes[AttributeName];
getAttributes(): GraphAttributes;
hasAttribute<AttributeName extends keyof GraphAttributes>(
name: AttributeName
): boolean;
setAttribute<AttributeName extends keyof GraphAttributes>(
name: AttributeName,
value: GraphAttributes[AttributeName]
): this;
updateAttribute<AttributeName extends keyof GraphAttributes>(
name: AttributeName,
updater: (
value: GraphAttributes[AttributeName] | undefined
) => GraphAttributes[AttributeName]
): this;
removeAttribute<AttributeName extends keyof GraphAttributes>(
name: AttributeName
): this;
replaceAttributes(attributes: GraphAttributes): this;
mergeAttributes(attributes: Partial<GraphAttributes>): this;
updateAttributes(
updater: (attributes: GraphAttributes) => GraphAttributes
): this;
// Node attribute methods
getNodeAttribute<AttributeName extends keyof NodeAttributes>(
node: unknown,
name: AttributeName
): NodeAttributes[AttributeName];
getNodeAttributes(node: unknown): NodeAttributes;
hasNodeAttribute<AttributeName extends keyof NodeAttributes>(
node: unknown,
name: AttributeName
): boolean;
setNodeAttribute<AttributeName extends keyof NodeAttributes>(
node: unknown,
name: AttributeName,
value: NodeAttributes[AttributeName]
): this;
updateNodeAttribute<AttributeName extends keyof NodeAttributes>(
node: unknown,
name: AttributeName,
updater: (
value: NodeAttributes[AttributeName] | undefined
) => NodeAttributes[AttributeName]
): this;
removeNodeAttribute<AttributeName extends keyof NodeAttributes>(
node: unknown,
name: AttributeName
): this;
replaceNodeAttributes(node: unknown, attributes: NodeAttributes): this;
mergeNodeAttributes(node: unknown, attributes: Partial<NodeAttributes>): this;
updateNodeAttributes(
node: unknown,
updater: (attributes: NodeAttributes) => NodeAttributes
): this;
getSourceAttribute<AttributeName extends keyof NodeAttributes>(
edge: unknown,
name: AttributeName
): NodeAttributes[AttributeName];
getSourceAttributes(edge: unknown): NodeAttributes;
hasSourceAttribute<AttributeName extends keyof NodeAttributes>(
edge: unknown,
name: AttributeName
): boolean;
setSourceAttribute<AttributeName extends keyof NodeAttributes>(
edge: unknown,
name: AttributeName,
value: NodeAttributes[AttributeName]
): this;
updateSourceAttribute<AttributeName extends keyof NodeAttributes>(
edge: unknown,
name: AttributeName,
updater: (
value: NodeAttributes[AttributeName] | undefined
) => NodeAttributes[AttributeName]
): this;
removeSourceAttribute<AttributeName extends keyof NodeAttributes>(
edge: unknown,
name: AttributeName
): this;
replaceSourceAttributes(edge: unknown, attributes: NodeAttributes): this;
mergeSourceAttributes(
edge: unknown,
attributes: Partial<NodeAttributes>
): this;
updateSourceAttributes(
edge: unknown,
updater: (attributes: NodeAttributes) => NodeAttributes
): this;
getTargetAttribute<AttributeName extends keyof NodeAttributes>(
edge: unknown,
name: AttributeName
): NodeAttributes[AttributeName];
getTargetAttributes(edge: unknown): NodeAttributes;
hasTargetAttribute<AttributeName extends keyof NodeAttributes>(
edge: unknown,
name: AttributeName
): boolean;
setTargetAttribute<AttributeName extends keyof NodeAttributes>(
edge: unknown,
name: AttributeName,
value: NodeAttributes[AttributeName]
): this;
updateTargetAttribute<AttributeName extends keyof NodeAttributes>(
edge: unknown,
name: AttributeName,
updater: (
value: NodeAttributes[AttributeName] | undefined
) => NodeAttributes[AttributeName]
): this;
removeTargetAttribute<AttributeName extends keyof NodeAttributes>(
edge: unknown,
name: AttributeName
): this;
replaceTargetAttributes(edge: unknown, attributes: NodeAttributes): this;
mergeTargetAttributes(
edge: unknown,
attributes: Partial<NodeAttributes>
): this;
updateTargetAttributes(
edge: unknown,
updater: (attributes: NodeAttributes) => NodeAttributes
): this;
getOppositeAttribute<AttributeName extends keyof NodeAttributes>(
node: unknown,
edge: unknown,
name: AttributeName
): NodeAttributes[AttributeName];
getOppositeAttributes(node: unknown): NodeAttributes;
hasOppositeAttribute<AttributeName extends keyof NodeAttributes>(
node: unknown,
edge: unknown,
name: AttributeName
): boolean;
setOppositeAttribute<AttributeName extends keyof NodeAttributes>(
node: unknown,
edge: unknown,
name: AttributeName,
value: NodeAttributes[AttributeName]
): this;
updateOppositeAttribute<AttributeName extends keyof NodeAttributes>(
node: unknown,
edge: unknown,
name: AttributeName,
updater: (
value: NodeAttributes[AttributeName] | undefined
) => NodeAttributes[AttributeName]
): this;
removeOppositeAttribute<AttributeName extends keyof NodeAttributes>(
node: unknown,
edge: unknown,
name: AttributeName
): this;
replaceOppositeAttributes(
node: unknown,
edge: unknown,
attributes: NodeAttributes
): this;
mergeOppositeAttributes(
node: unknown,
edge: unknown,
attributes: Partial<NodeAttributes>
): this;
updateOppositeAttributes(
node: unknown,
edge: unknown,
updater: (attributes: NodeAttributes) => NodeAttributes
): this;
updateEachNodeAttributes(
updater: NodeMapper<NodeAttributes, NodeAttributes>,
hints?: UpdateHints<NodeAttributes>
): void;
// Edge attribute methods
getEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
edge: unknown,
name: AttributeName
): EdgeAttributes[AttributeName];
getEdgeAttributes(edge: unknown): EdgeAttributes;
hasEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
edge: unknown,
name: AttributeName
): boolean;
setEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
edge: unknown,
name: AttributeName,
value: EdgeAttributes[AttributeName]
): this;
updateEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
edge: unknown,
name: AttributeName,
updater: (
value: EdgeAttributes[AttributeName] | undefined
) => EdgeAttributes[AttributeName]
): this;
removeEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
edge: unknown,
name: AttributeName
): this;
replaceEdgeAttributes(edge: unknown, attributes: EdgeAttributes): this;
mergeEdgeAttributes(edge: unknown, attributes: Partial<EdgeAttributes>): this;
updateEdgeAttributes(
edge: unknown,
updater: (attributes: EdgeAttributes) => EdgeAttributes
): this;
updateEachEdgeAttributes(
updater: EdgeMapper<EdgeAttributes, NodeAttributes, EdgeAttributes>,
hints?: UpdateHints<EdgeAttributes>
): void;
// Edge attribute methods (source, target)
getEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName
): EdgeAttributes[AttributeName];
getEdgeAttributes(source: unknown, target: unknown): EdgeAttributes;
hasEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName
): boolean;
setEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName,
value: EdgeAttributes[AttributeName]
): this;
updateEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName,
updater: (
value: EdgeAttributes[AttributeName] | undefined
) => EdgeAttributes[AttributeName]
): this;
removeEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName
): this;
replaceEdgeAttributes(
source: unknown,
target: unknown,
attributes: EdgeAttributes
): this;
mergeEdgeAttributes(
source: unknown,
target: unknown,
attributes: Partial<EdgeAttributes>
): this;
updateEdgeAttributes(
source: unknown,
target: unknown,
updater: (attributes: EdgeAttributes) => EdgeAttributes
): this;
getDirectedEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName
): EdgeAttributes[AttributeName];
getDirectedEdgeAttributes(source: unknown, target: unknown): EdgeAttributes;
hasDirectedEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName
): boolean;
setDirectedEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName,
value: EdgeAttributes[AttributeName]
): this;
updateDirectedEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName,
updater: (
value: EdgeAttributes[AttributeName] | undefined
) => EdgeAttributes[AttributeName]
): this;
removeDirectedEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName
): this;
replaceDirectedEdgeAttributes(
source: unknown,
target: unknown,
attributes: EdgeAttributes
): this;
mergeDirectedEdgeAttributes(
source: unknown,
target: unknown,
attributes: Partial<EdgeAttributes>
): this;
updateDirectedEdgeAttributes(
source: unknown,
target: unknown,
updater: (attributes: EdgeAttributes) => EdgeAttributes
): this;
getUndirectedEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName
): EdgeAttributes[AttributeName];
getUndirectedEdgeAttributes(source: unknown, target: unknown): EdgeAttributes;
hasUndirectedEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName
): boolean;
setUndirectedEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName,
value: EdgeAttributes[AttributeName]
): this;
updateUndirectedEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName,
updater: (
value: EdgeAttributes[AttributeName] | undefined
) => EdgeAttributes[AttributeName]
): this;
removeUndirectedEdgeAttribute<AttributeName extends keyof EdgeAttributes>(
source: unknown,
target: unknown,
name: AttributeName
): this;
replaceUndirectedEdgeAttributes(
source: unknown,
target: unknown,
attributes: EdgeAttributes
): this;
mergeUndirectedEdgeAttributes(
source: unknown,
target: unknown,
attributes: Partial<EdgeAttributes>
): this;
updateUndirectedEdgeAttributes(
source: unknown,
target: unknown,
updater: (attributes: EdgeAttributes) => EdgeAttributes
): this;
// Iteration methods
forEachAdjacencyEntry(
callback: AdjacencyIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachAssymetricAdjacencyEntry(
callback: AdjacencyIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachAdjacencyEntryWithOrphans(
callback: AdjacencyIterationCallbackWithOrphans<
NodeAttributes,
EdgeAttributes
>
): void;
forEachAssymetricAdjacencyEntryWithOrphans(
callback: AdjacencyIterationCallbackWithOrphans<
NodeAttributes,
EdgeAttributes
>
): void;
nodes(): Array<string>;
forEachNode(callback: NodeIterationCallback<NodeAttributes>): void;
mapNodes<T>(callback: NodeMapper<T, NodeAttributes>): Array<T>;
filterNodes(callback: NodePredicate<NodeAttributes>): Array<string>;
reduceNodes<T>(callback: NodeReducer<T, NodeAttributes>, initialValue: T): T;
findNode(callback: NodePredicate<NodeAttributes>): string | undefined;
someNode(callback: NodePredicate<NodeAttributes>): boolean;
everyNode(callback: NodePredicate<NodeAttributes>): boolean;
nodeEntries(): IterableIterator<NodeEntry<NodeAttributes>>;
edges(): Array<string>;
edges(node: unknown): Array<string>;
edges(source: unknown, target: unknown): Array<string>;
undirectedEdges(): Array<string>;
undirectedEdges(node: unknown): Array<string>;
undirectedEdges(source: unknown, target: unknown): Array<string>;
directedEdges(): Array<string>;
directedEdges(node: unknown): Array<string>;
directedEdges(source: unknown, target: unknown): Array<string>;
inEdges(): Array<string>;
inEdges(node: unknown): Array<string>;
inEdges(source: unknown, target: unknown): Array<string>;
outEdges(): Array<string>;
outEdges(node: unknown): Array<string>;
outEdges(source: unknown, target: unknown): Array<string>;
inboundEdges(): Array<string>;
inboundEdges(node: unknown): Array<string>;
inboundEdges(source: unknown, target: unknown): Array<string>;
outboundEdges(): Array<string>;
outboundEdges(node: unknown): Array<string>;
outboundEdges(source: unknown, target: unknown): Array<string>;
forEachEdge(
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachEdge(
node: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachEdge(
source: unknown,
target: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachUndirectedEdge(
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachUndirectedEdge(
node: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachUndirectedEdge(
source: unknown,
target: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachDirectedEdge(
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachDirectedEdge(
node: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachDirectedEdge(
source: unknown,
target: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachInEdge(
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachInEdge(
node: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachInEdge(
source: unknown,
target: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachOutEdge(
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachOutEdge(
node: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachOutEdge(
source: unknown,
target: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachInboundEdge(
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachInboundEdge(
node: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachInboundEdge(
source: unknown,
target: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachOutboundEdge(
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachOutboundEdge(
node: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
forEachOutboundEdge(
source: unknown,
target: unknown,
callback: EdgeIterationCallback<NodeAttributes, EdgeAttributes>
): void;
mapEdges<T>(
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapEdges<T>(
node: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapEdges<T>(
source: unknown,
target: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapUndirectedEdges<T>(
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapUndirectedEdges<T>(
node: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapUndirectedEdges<T>(
source: unknown,
target: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapDirectedEdges<T>(
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapDirectedEdges<T>(
node: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapDirectedEdges<T>(
source: unknown,
target: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapInEdges<T>(
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapInEdges<T>(
node: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapInEdges<T>(
source: unknown,
target: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapOutEdges<T>(
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapOutEdges<T>(
node: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapOutEdges<T>(
source: unknown,
target: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapInboundEdges<T>(
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapInboundEdges<T>(
node: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapInboundEdges<T>(
source: unknown,
target: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapOutboundEdges<T>(
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapOutboundEdges<T>(
node: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
mapOutboundEdges<T>(
source: unknown,
target: unknown,
callback: EdgeMapper<T, NodeAttributes, EdgeAttributes>
): Array<T>;
filterEdges(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterEdges(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterEdges(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterUndirectedEdges(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterUndirectedEdges(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterUndirectedEdges(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterDirectedEdges(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterDirectedEdges(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterDirectedEdges(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterInEdges(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterInEdges(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterInEdges(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterOutEdges(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterOutEdges(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterOutEdges(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterInboundEdges(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterInboundEdges(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterInboundEdges(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterOutboundEdges(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterOutboundEdges(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
filterOutboundEdges(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): Array<string>;
reduceEdges<T>(
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceEdges<T>(
node: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceEdges<T>(
source: unknown,
target: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceUndirectedEdges<T>(
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceUndirectedEdges<T>(
node: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceUndirectedEdges<T>(
source: unknown,
target: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceDirectedEdges<T>(
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceDirectedEdges<T>(
node: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceDirectedEdges<T>(
source: unknown,
target: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceInEdges<T>(
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceInEdges<T>(
node: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceInEdges<T>(
source: unknown,
target: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceOutEdges<T>(
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceOutEdges<T>(
node: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceOutEdges<T>(
source: unknown,
target: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceInboundEdges<T>(
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceInboundEdges<T>(
node: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceInboundEdges<T>(
source: unknown,
target: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceOutboundEdges<T>(
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceOutboundEdges<T>(
node: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
reduceOutboundEdges<T>(
source: unknown,
target: unknown,
callback: EdgeReducer<T, NodeAttributes, EdgeAttributes>,
initialValue: T
): T;
findEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findUndirectedEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findUndirectedEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findUndirectedEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findDirectedEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findDirectedEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findDirectedEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findInEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findInEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findInEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findOutEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findOutEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findOutEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findInboundEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findInboundEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findInboundEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findOutboundEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findOutboundEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
findOutboundEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): string | undefined;
someEdge(callback: EdgePredicate<NodeAttributes, EdgeAttributes>): boolean;
someEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someUndirectedEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someUndirectedEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someUndirectedEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someDirectedEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someDirectedEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someDirectedEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someInEdge(callback: EdgePredicate<NodeAttributes, EdgeAttributes>): boolean;
someInEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someInEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someOutEdge(callback: EdgePredicate<NodeAttributes, EdgeAttributes>): boolean;
someOutEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someOutEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someInboundEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someInboundEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someInboundEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someOutboundEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someOutboundEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
someOutboundEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyEdge(callback: EdgePredicate<NodeAttributes, EdgeAttributes>): boolean;
everyEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyUndirectedEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyUndirectedEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyUndirectedEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyDirectedEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyDirectedEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyDirectedEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyInEdge(callback: EdgePredicate<NodeAttributes, EdgeAttributes>): boolean;
everyInEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyInEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyOutEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyOutEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyOutEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyInboundEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyInboundEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyInboundEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyOutboundEdge(
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyOutboundEdge(
node: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
everyOutboundEdge(
source: unknown,
target: unknown,
callback: EdgePredicate<NodeAttributes, EdgeAttributes>
): boolean;
edgeEntries(): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
edgeEntries(
node: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
edgeEntries(
source: unknown,
target: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
undirectedEdgeEntries(): IterableIterator<
EdgeEntry<NodeAttributes, EdgeAttributes>
>;
undirectedEdgeEntries(
node: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
undirectedEdgeEntries(
source: unknown,
target: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
directedEdgeEntries(): IterableIterator<
EdgeEntry<NodeAttributes, EdgeAttributes>
>;
directedEdgeEntries(
node: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
directedEdgeEntries(
source: unknown,
target: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
inEdgeEntries(): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
inEdgeEntries(
node: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
inEdgeEntries(
source: unknown,
target: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
outEdgeEntries(): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
outEdgeEntries(
node: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
outEdgeEntries(
source: unknown,
target: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
inboundEdgeEntries(): IterableIterator<
EdgeEntry<NodeAttributes, EdgeAttributes>
>;
inboundEdgeEntries(
node: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
inboundEdgeEntries(
source: unknown,
target: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
outboundEdgeEntries(): IterableIterator<
EdgeEntry<NodeAttributes, EdgeAttributes>
>;
outboundEdgeEntries(
node: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
outboundEdgeEntries(
source: unknown,
target: unknown
): IterableIterator<EdgeEntry<NodeAttributes, EdgeAttributes>>;
neighbors(node: unknown): Array<string>;
undirectedNeighbors(node: unknown): Array<string>;
directedNeighbors(node: unknown): Array<string>;
inNeighbors(node: unknown): Array<string>;
outNeighbors(node: unknown): Array<string>;
inboundNeighbors(node: unknown): Array<string>;
outboundNeighbors(node: unknown): Array<string>;
forEachNeighbor(
node: unknown,
callback: NeighborIterationCallback<NodeAttributes>
): void;
forEachUndirectedNeighbor(
node: unknown,
callback: NeighborIterationCallback<NodeAttributes>
): void;
forEachDirectedNeighbor(
node: unknown,
callback: NeighborIterationCallback<NodeAttributes>
): void;
forEachInNeighbor(
node: unknown,
callback: NeighborIterationCallback<NodeAttributes>
): void;
forEachOutNeighbor(
node: unknown,
callback: NeighborIterationCallback<NodeAttributes>
): void;
forEachInboundNeighbor(
node: unknown,
callback: NeighborIterationCallback<NodeAttributes>
): void;
forEachOutboundNeighbor(
node: unknown,
callback: NeighborIterationCallback<NodeAttributes>
): void;
mapNeighbors<T>(
node: unknown,
callback: NeighborMapper<T, NodeAttributes>
): Array<T>;
mapUndirectedNeighbors<T>(
node: unknown,
callback: NeighborMapper<T, NodeAttributes>
): Array<T>;
mapDirectedNeighbors<T>(
node: unknown,
callback: NeighborMapper<T, NodeAttributes>
): Array<T>;
mapInNeighbors<T>(
node: unknown,
callback: NeighborMapper<T, NodeAttributes>
): Array<T>;
mapOutNeighbors<T>(
node: unknown,
callback: NeighborMapper<T, NodeAttributes>
): Array<T>;
mapInboundNeighbors<T>(
node: unknown,
callback: NeighborMapper<T, NodeAttributes>
): Array<T>;
mapOutboundNeighbors<T>(
node: unknown,
callback: NeighborMapper<T, NodeAttributes>
): Array<T>;
filterNeighbors(
node: unknown,
callback: NeighborPredicate<NodeAttributes>
): Array<string>;
filterUndirectedNeighbors(
node: unknown,
callback: NeighborPredicate<NodeAttributes>
): Array<string>;
filterDirectedNeighbors(
node: unknown,
callback: NeighborPredicate<NodeAttributes>
): Array<string>;
filterInNeighbors(
node: unknown,
callback: NeighborPredicate<NodeAttributes>
): Array<string>;
filterOutNeighbors(
node: unknown,
callback: NeighborPredicate<NodeAttributes>
): Array<string>;
filterInboundNeighbors(
nod