import type { NodeDefinition, EdgeDefinition, LayoutStrategy, LayoutResult, LayoutConfig } from '../types/index'; type GridLayoutConfig = NonNullable; type LayeredLayoutConfig = NonNullable; type ForceLayoutConfig = NonNullable; type D3Force = any; export declare class ManualLayout implements LayoutStrategy { compute(nodes: NodeDefinition[], _edges: EdgeDefinition[], bounds: { width: number; height: number; }): LayoutResult; } export declare class GridLayout implements LayoutStrategy { private config; constructor(config?: GridLayoutConfig); compute(nodes: NodeDefinition[], _edges: EdgeDefinition[], bounds: { width: number; height: number; }): LayoutResult; } export declare class LayeredLayout implements LayoutStrategy { private config; constructor(config?: LayeredLayoutConfig); compute(nodes: NodeDefinition[], _edges: EdgeDefinition[], bounds: { width: number; height: number; }): LayoutResult; } export declare class ForceLayout implements LayoutStrategy { private config; constructor(config?: ForceLayoutConfig & { d3force?: D3Force; }); compute(nodes: NodeDefinition[], edges: EdgeDefinition[], bounds: { width: number; height: number; }): LayoutResult; } export declare function createLayout(config: LayoutConfig): LayoutStrategy; export {}; //# sourceMappingURL=index.d.ts.map