import { dimensions, location } from '@synnaxlabs/x'; import { ControlLinePosition, ControlPosition } from '@xyflow/react'; import { CSSProperties, DragEvent, FC, PropsWithChildren, ReactElement } from 'react'; type DraggableElement = ReactElement<{ style?: CSSProperties; draggable?: boolean; onDragStart?: (e: DragEvent) => void; onDragEnd?: (e: DragEvent) => void; }>; export interface ItemProps { itemKey: string; location: location.Location; onLocationChange?: (loc: location.Location) => void; children: DraggableElement; } export declare const Item: FC; export declare const createItem:

(component: FC

) => FC

; export interface GridProps extends PropsWithChildren<{}> { editable: boolean; nodeKey: string; orientation?: location.Outer; onRotate?: (params: { orientation: location.Outer; }) => void; allowCenter?: boolean; allowRotate?: boolean; onResize?: (dimensions: dimensions.Dimensions) => void; keepAspectRatio?: boolean; resizeHandles?: (ControlLinePosition | ControlPosition)[]; onResizeStart?: (dimensions: dimensions.Dimensions) => void; } export declare const useScaleResize: (config: { scale?: number; }, onConfigChange: (config: { scale?: number; }) => void) => Pick; export declare const DRAG_HANDLE_CLASS: string; export declare const Grid: FC; export {}; //# sourceMappingURL=Grid.d.ts.map