import { location } from '@synnaxlabs/x';
import { CSSProperties, DragEvent, PropsWithChildren, ReactElement } from 'react';
export interface GridItem {
    key: string;
    element: ReactElement<{
        style?: CSSProperties;
        draggable?: boolean;
        onDragStart?: (e: DragEvent<HTMLElement>) => void;
        onDragEnd?: (e: DragEvent<HTMLElement>) => void;
    }>;
    location: location.Location;
}
export interface GridProps extends PropsWithChildren<{}> {
    editable: boolean;
    symbolKey: string;
    items: GridItem[];
    onLocationChange: (key: string, loc: location.Location) => void;
    onRotate?: () => void;
    allowCenter?: boolean;
    allowRotate?: boolean;
}
export declare const DRAG_HANDLE_CLASS: string;
export declare const Grid: ({ editable, allowRotate, children, allowCenter, onRotate, symbolKey, ...rest }: GridProps) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Grid.d.ts.map