import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
export declare class _GKGraphNode extends _NSObject {
    static alloc(): _GKGraphNode;
    static new(): _GKGraphNode;
    init(): _GKGraphNode;
    /**
     * Add a connection to a group of other nodes indicating those nodes can be reached from this node. A new connection is not created if it already exists. @param nodes The array of nodes that are end points for their respective connections @param bidirectional should a connection also be added connecting the destination node back to this node?
     */
    addConnectionsToNodes$bidirectional$(nodes: _NSArray, bidirectional: boolean): void;
    /**
     * Removes connections to a group of other nodes indicating those nodes can no longer be reached from this node. Nothing happens if a particular connection does not exist. @param nodes The array of nodes that are end points of the edges to be removed @param bidirectional should the connection also be added the destination node back to this node also be removed if it exists?
     */
    removeConnectionsToNodes$bidirectional$(nodes: _NSArray, bidirectional: boolean): void;
    /**
     * Returns the estimated heuristic cost to reach the indicated node from this node @param node The end point of the edge who's cost is to be estimated
     */
    estimatedCostToNode$(node: _GKGraphNode): number;
    /** Returns the actual cost to reach the indicated node from this node */
    costToNode$(node: _GKGraphNode): number;
    /**
     * Attempts to find the optimal path between this node and the indicated goal node. If such a path exists, it is returned in start to end order. If it doesn't exist, the array returned will be empty. @param goalNode the goal node of the pathfinding attempt
     */
    findPathToNode$(goalNode: _GKGraphNode): _NSArray;
    /**
     * As with findPathToNode: except this node is the goal node and a startNode is specified @param startNode the start node of the pathfinding attempt
     */
    findPathFromNode$(startNode: _GKGraphNode): _NSArray;
    /** List of other graph nodes that this node has an edge leading to. */
    connectedNodes(): _NSArray;
}
export interface _GKGraphNode extends _NSSecureCoding {
}
