export interface Path { name: string; path: string; } export interface Node { id: string; sequence?: string; tags?: Record; cigar?: string; length?: number; } export interface Graph { nodes: Node[]; links: Link[]; paths?: Path[]; } export interface Coord { x: number; y: number; } export interface Link { strand1?: string; strand2?: string; linkNum?: number; length?: number; source: string; loop?: boolean; sequence?: string; paths?: string[]; id?: string; target: string; } export declare function reprocessGraph(G: Graph, chunkSize: number): { nodes: Node[]; links: Link[]; }; export declare function groupBy(array: T[], predicate: (v: T) => string | undefined): Record; export interface Edge { linkNum?: number; source: Coord; target: Coord; } export declare function generatePaths(edges: Edge[], graph: Record): { links: [number, number][]; original: unknown; }[]; export declare function projectLine(x1: number, y1: number, x2: number, y2: number, dt: number): number[]; export declare function generateLinks(links: Link[]): { [key: string]: any; pathId?: string; pathIndex?: number; }[];