/**
 * @file layout.ts
 * @output Pure layout algorithm — computes node and link positions
 * @position Core logic; consumed by SankeyChart during render
 *
 * Accepts columns as either string[][] (simple) or SankeyColumnDef[]
 * (with labels). Reserves margin for labels and column headers.
 */
import type { SankeyNodeDatum, SankeyLinkDatum, SankeyColumn, SankeyNodeLayout, SankeyLinkLayout, SankeyColumnLayout } from './types';
export interface LayoutOptions {
    width: number;
    height: number;
    nodeWidth?: number;
    nodeGap?: number;
    labelMargin?: number;
    columns?: SankeyColumn[];
}
export interface LayoutResult {
    nodes: SankeyNodeLayout[];
    links: SankeyLinkLayout[];
    columns: SankeyColumnLayout[];
    valueScale: number;
    maxValue: number;
}
export declare function computeLayout(nodes: SankeyNodeDatum[], links: SankeyLinkDatum[], options: LayoutOptions): LayoutResult;
//# sourceMappingURL=layout.d.ts.map