import { ClientGraphEdge, ClientGraphVertex } from '../graph/type'; import { PointPosition } from '../point'; import { Route } from '../route'; export declare type PathfindHeuristicFunction = (current: ClientGraphVertex, edge: ClientGraphEdge, next: ClientGraphVertex) => number; /** * Алгоритм поиска пути. Работает не только с вершинами графа, но и с промежуточными. * Если конечные точки пути являются промежуточными, то создает искусственные вершины для корректной работы алгоритма. */ export declare function pathfindFromMidway(from: PointPosition, to: PointPosition, heuristic?: PathfindHeuristicFunction): Route | undefined; /** * Функция задающая приоритет вершин. * Если возвращает undefined, то обход графа в этом направлении останавливается. */ export declare type BreadthFirstTraversalPriority = (routeLength: number, next: ClientGraphVertex, current: ClientGraphVertex, edge: ClientGraphEdge) => number | undefined; export declare function breadthFirstTraversalFromMidway(from: PointPosition, priorityFunction: BreadthFirstTraversalPriority): Route | undefined;