import React__default, { CSSProperties, DragEvent, ReactElement } from 'react'; import { m as GridConfig, j as DragConfig, r as ResizeConfig, l as DropConfig, p as PositionStrategy, b as Compactor, f as LayoutConstraint, L as Layout, d as LayoutItem, E as EventCallback, B as Breakpoint, a as Breakpoints, e as ResponsiveLayouts } from './types-jd8MiKM1.js'; /** * GridLayout component * * A reactive, fluid grid layout with draggable, resizable components. */ interface GridLayoutProps { /** Child elements to render in the grid */ children: React__default.ReactNode; /** Width of the container in pixels */ width: number; /** * Grid measurement configuration. * @see GridConfig */ gridConfig?: Partial; /** * Drag behavior configuration. * @see DragConfig */ dragConfig?: Partial; /** * Resize behavior configuration. * @see ResizeConfig */ resizeConfig?: Partial; /** * External drop configuration. * @see DropConfig */ dropConfig?: Partial; /** * CSS positioning strategy. * Use transformStrategy (default), absoluteStrategy, or createScaledStrategy(scale). * @see PositionStrategy */ positionStrategy?: PositionStrategy; /** * Layout compaction strategy. * Use verticalCompactor (default), horizontalCompactor, or noCompactor. * @see Compactor */ compactor?: Compactor; /** * Layout constraints for position and size limiting. * Applied during drag/resize operations. * Default: [gridBounds, minMaxSize] * @see LayoutConstraint */ constraints?: LayoutConstraint[]; /** Layout definition */ layout?: Layout; /** Item to use when dropping from outside */ droppingItem?: LayoutItem; /** Whether to auto-size the container height */ autoSize?: boolean; /** Additional class name */ className?: string; /** Additional styles */ style?: CSSProperties; /** Ref to the container element */ innerRef?: React__default.Ref; /** Called when layout changes */ onLayoutChange?: (layout: Layout) => void; /** Called when drag starts */ onDragStart?: EventCallback; /** Called during drag */ onDrag?: EventCallback; /** Called when drag stops */ onDragStop?: EventCallback; /** Called when resize starts */ onResizeStart?: EventCallback; /** Called during resize */ onResize?: EventCallback; /** Called when resize stops */ onResizeStop?: EventCallback; /** Called when an item is dropped from outside */ onDrop?: (layout: Layout, item: LayoutItem | undefined, e: Event) => void; /** Called when dragging over the grid */ onDropDragOver?: (e: DragEvent) => { w?: number; h?: number; dragOffsetX?: number; dragOffsetY?: number; } | false | void; } /** * GridLayout - A reactive, fluid grid layout with draggable, resizable components. */ declare function GridLayout(props: GridLayoutProps): ReactElement; /** * ResponsiveGridLayout component * * A responsive grid layout that automatically adjusts to container width. */ interface ResponsiveGridLayoutProps extends Omit { /** Current breakpoint (optional, auto-detected from width) */ breakpoint?: B; /** Breakpoint definitions (name → min-width) */ breakpoints?: Breakpoints; /** Column counts per breakpoint */ cols?: Breakpoints; /** Layouts for each breakpoint */ layouts?: ResponsiveLayouts; /** Row height (default: 150) */ rowHeight?: number; /** Maximum rows (default: Infinity) */ maxRows?: number; /** Margin between items - can be fixed or per-breakpoint */ margin?: readonly [number, number] | Partial>; /** Container padding - can be fixed or per-breakpoint */ containerPadding?: readonly [number, number] | Partial> | null; /** Compactor for layout compaction */ compactor?: Compactor; /** Called when breakpoint changes */ onBreakpointChange?: (newBreakpoint: B, cols: number) => void; /** Called when layout changes */ onLayoutChange?: (layout: Layout, layouts: ResponsiveLayouts) => void; /** Called when width changes */ onWidthChange?: (containerWidth: number, margin: readonly [number, number], cols: number, containerPadding: readonly [number, number] | null) => void; } /** * ResponsiveGridLayout - A responsive grid layout that adjusts to container width. */ declare function ResponsiveGridLayout(props: ResponsiveGridLayoutProps): ReactElement; export { GridLayout as G, ResponsiveGridLayout as R, type GridLayoutProps as a, type ResponsiveGridLayoutProps as b };