///
import ReactGridLayout, { ItemCallback, Layout } from "react-grid-layout";
import 'react-grid-layout/css/styles.css';
import 'react-resizable/css/styles.css';
import { ReactAddon, ReactControl } from '../react/base';
import { InplaceProperty as Inplace, ValueEditor } from './editor';
import './gridLayout.less';
declare const CompactType: {
vertical: string;
horizontal: string;
};
export declare class GridLayout extends ReactAddon {
name?: string;
allowClose?: boolean;
layoutData?: Inplace;
pageWidth?: number;
pageHeight?: number;
gridRows?: number;
gridCols?: number;
innerPaddingX?: number;
innerPaddingY?: number;
marginX?: number;
marginY?: number;
layout?: any;
children?: ReactControl;
autoSize?: boolean;
verticalCompact?: boolean;
compactType?: keyof typeof CompactType;
isRearrangeable?: boolean;
preventCollision?: boolean;
/**
* Calls when drag starts.
*/
onDragStart?: ItemCallback;
/**
* Calls on each drag movement.
*/
onDrag?: ItemCallback;
/**
* Calls when drag is complete.
*/
onDragStop?: ItemCallback;
/**
* Calls when resize starts.
*/
onResizeStart?: ItemCallback;
/**
* Calls when resize movement happens.
*/
onResize?: ItemCallback;
/**
* Calls when resize is complete.
*/
onResizeStop?: ItemCallback;
isEditing?: boolean;
onLayoutChange?: (layout: Layout[]) => void;
onCloseNode?: (key: any) => void;
onRender?: (() => JSX.Element) | undefined;
}
export declare const GridLayoutControl: any;
export declare class GridLayoutEditor extends ValueEditor {
onLayoutChange?: (layout: Layout[]) => void;
onRender?: (() => JSX.Element) | undefined;
}
export declare const GridLayoutEditorControl: any;
export {};