///
import dijkstra from "dijkstrajs";
import { Node } from "./node";
import { OneWay } from "./Hallway";
import { StairOneWay } from "./StairOneWay";
export declare type HallConnectorsStructures = {
nodes: {
nodeId: Node;
edgeLengthFromPreviousNodeInHallway: number;
}[];
oneWay: OneWay;
}[];
/**
* @ignore
* @param hallConnectors - an array of each hallway's array of nodes
* @param stairConnections - an array of stairs, where each stair has
* a list of nodes going from the top to the bottom
* @param hallwayConnections - an array of the pairs of connected hallway nodes
* @returns The graph to be used by getShortestPath
*/
export declare function getGraph(hallConnectorsStructures: HallConnectorsStructures, oneWayStaircases: Partial>): dijkstra.Graph;
/**
* @ignore
* @param graph - A graph generated by getGraph
* @param idFrom - The id of the node to start at
* @param idTo - The id of the destination node
* @returns An array of node IDs that represents the path from `idFrom` to
* `idTo`.
*/
export declare function getShortestPath(graph: dijkstra.Graph, idFrom: Node, idTo: Node): Node[];
/**
* @ignore
* @param graph - a graph
* @returns - Is this a connected graph?
*/
export declare function isConnectedGraph(graph: dijkstra.Graph): {
connected: boolean;
connectedSections: string[][];
};