import React from "react";
export interface Island {
    id: string;
    content: React.ReactNode;
    x: number;
    y: number;
    width: number;
    height: number;
    zIndex?: number;
    category?: string;
    pinned?: boolean;
    minimized?: boolean;
    resizable?: boolean;
    draggable?: boolean;
    connections?: string[];
    metadata?: {
        [key: string]: any;
    };
}
export interface IslandConnection {
    from: string;
    to: string;
    type: "solid" | "dashed" | "dotted" | "animated";
    color?: string;
    strength?: number;
}
export interface LayoutConfig {
    containerPadding: number;
    islandSpacing: number;
    connectionDistance: number;
    animationSpeed: number;
    gravityStrength: number;
    repulsionStrength: number;
    enablePhysics: boolean;
    enableAutoArrange: boolean;
    enableCollisionDetection: boolean;
}
export interface GlassIslandLayoutProps {
    islands: Island[];
    connections?: IslandConnection[];
    config?: Partial<LayoutConfig>;
    showMinimap?: boolean;
    showConnections?: boolean;
    showGrid?: boolean;
    showStats?: boolean;
    enablePhysics?: boolean;
    enableDragging?: boolean;
    enableResizing?: boolean;
    enableZooming?: boolean;
    zoomLevel?: number;
    centerOnLoad?: boolean;
    onIslandMove?: (island: Island, x: number, y: number) => void;
    onIslandResize?: (island: Island, width: number, height: number) => void;
    onIslandSelect?: (island: Island) => void;
    onConnectionCreate?: (from: string, to: string) => void;
    className?: string;
}
export declare const GlassIslandLayout: React.ForwardRefExoticComponent<GlassIslandLayoutProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=GlassIslandLayout.d.ts.map