import type { Node } from "../graph/node.js"; export type RankAccessor = string | ((node: Node) => number | null | undefined); export type LabelAccessor = string | ((node: Node) => string | number | null | undefined); export type RankPosition = { rank: number; yPosition: number; label: string | number; }; export type MapRanksToYPositionsOptions = { rankAccessor?: RankAccessor; labelAccessor?: LabelAccessor; /** Optional target range for the computed y positions. */ yRange?: { min?: number; max?: number; }; }; /** * Builds a mapping from rank identifiers to averaged y positions. */ export declare function mapRanksToYPositions(nodes: Iterable, getPosition: (node: Node) => [number, number] | null | undefined, options?: MapRanksToYPositionsOptions): RankPosition[]; export type SelectRankLinesOptions = { yMin: number; yMax: number; maxCount?: number; }; /** * Selects a subset of rank positions that are evenly distributed within a range. */ export declare function selectRankLines(ranks: RankPosition[], { yMin, yMax, maxCount }: SelectRankLinesOptions): RankPosition[]; //# sourceMappingURL=rank-grid.d.ts.map