import React, { CSSProperties } from 'react';
import { ItemCallback as ItemCallbackAlias, Layout as LayoutAlias } from 'react-grid-layout';
export declare type ItemCallback = ItemCallbackAlias;
export declare type Layout = LayoutAlias;
export interface DataSourceObj {
    point: Layout;
    id: string | number;
    [props: string]: any;
}
export interface DragGridProps {
    /**
     * @description 布局中的列数
     * @default 24
     */
    cols?: number;
    /**
     * @description 行高倍数
     * @default 1
     */
    rowHeight?: number;
    /**
     * @description 布局的宽度
     * @default
     */
    width?: number;
    /**
     * @description 数据源
     * @default
     */
    dataSource: DataSourceObj[];
    /**
     * @description 渲染单条数据
     * @default
     */
    renderItem: (value: DataSourceObj, index: number) => React.ReactNode;
    /**
     * @description [x,y] 之间饿边距(单位px)
     * @default
     */
    margin?: [number, number];
    /**
     * @description 布局组件最外层类名
     * @default
     */
    wrapperClassName?: string;
    /**
     * @description 布局组件最外层样式
     * @default
     */
    wrapperStyle?: CSSProperties;
    /**
     * @description 布局组件类名
     * @default
     */
    layoutClassName?: string;
    /**
     * @description 布局组件样式
     * @default
     */
    layoutStyle?: CSSProperties;
    /**
     * @description 拖拽元素类名
     * @default
     */
    dragClassName?: string;
    /**
     * @description 拖拽元素样式
     * @default
     */
    dragStyle?: CSSProperties;
    /**
     * @description 拖拽结束时调用
     * @default
     */
    onDragStop?: ItemCallback;
    /**
     * @description 拖拽开始时调用
     * @default
     */
    onDragStart?: ItemCallback;
    /**
     * @description 完成调整大小时调用
     * @default
     */
    onResizeStop?: ItemCallback;
}
declare const DragGrid: React.FC<DragGridProps>;
export default DragGrid;
