import type { Group } from '../shapes/Group'; export interface LayoutOptions { columns?: number; gap?: number; padding?: number; direction?: 'row' | 'column'; align?: 'start' | 'center' | 'end' | 'stretch'; justify?: 'start' | 'center' | 'end' | 'space-between' | 'space-around'; wrap?: boolean; /** Main-axis container size (width for row, height for column). */ width?: number; height?: number; } /** Flex layout with wrap, align, and justify. */ export declare function flexLayout(group: Group, options?: LayoutOptions): void; /** Grid layout */ export declare function gridLayout(group: Group, options?: LayoutOptions): void; /** Stack layout (vertical or horizontal) */ export declare function stackLayout(group: Group, options?: LayoutOptions): void; /** Flex-like layout — full flexbox implementation */ /** Flow layout - wrap items */ export declare function flowLayout(group: Group, options?: LayoutOptions): void; /** Circular layout */ export declare function circularLayout(group: Group, cx: number, cy: number, radius: number): void; /** Tree layout — parents centered over their children (org-chart style). */ export declare function treeLayout(group: Group, levelGap?: number, siblingGap?: number): void; /** Auto-align children */ export declare function alignChildren(group: Group, alignment: 'left' | 'center' | 'right' | 'top' | 'middle' | 'bottom'): void; /** Distribute spacing evenly */ export declare function distributeSpacing(group: Group, axis: 'x' | 'y'): void; export declare const Layout: { grid: typeof gridLayout; stack: typeof stackLayout; flex: typeof flexLayout; flow: typeof flowLayout; circular: typeof circularLayout; tree: typeof treeLayout; align: typeof alignChildren; distribute: typeof distributeSpacing; };