import { Edge } from "../layout";
import { ConverterResult } from "../types";
export type LayeredLayoutResult = {
    nodes: Array<{
        id: string;
        x?: number;
        y?: number;
        shape?: string;
    }>;
    edges: Edge<string>[];
};
export type LayeredConverterParams = {
    layoutResult: LayeredLayoutResult;
    /** Map of "sourceId/targetId" -> queue of connection ids (for multiple edges between same pair) */
    connectionIdBySourceTarget: Map<string, (string | number | symbol)[]>;
    blockSizes: Map<string, {
        width: number;
        height: number;
    }>;
    virtualNodeSize?: number;
};
/**
 * Converts the result of layoutGraph() into the same format as ELK plugin (ConverterResult)
 * so it can be used with setEntities(blocks, connections) the same way.
 */
export declare function layeredConverter({ layoutResult, connectionIdBySourceTarget, blockSizes, virtualNodeSize, }: LayeredConverterParams): ConverterResult;
