/// <reference types="react-grid-layout" />
/// <reference types="hoist-non-react-statics" />
import React from 'react';
import PropTypes from 'prop-types';
import { ILayout as IGridLayout } from './ResponsiveGridLayout';
interface ILayout extends IGridLayout {
    isResizable?: boolean;
    isDraggable?: boolean;
}
export interface IPanelProps {
    className?: string;
    empty?: React.ReactNode;
    rowHeight?: number;
    cols?: number;
    margin?: [number, number];
    layouts?: ILayout[];
    borderRadius?: number;
    onLayoutsChange?: (layouts: ILayout[]) => void;
}
export declare class Panel extends React.Component<IPanelProps, any> {
    static defaultSettings: import("../constants").ISettings;
    static EmptyState: React.ComponentClass<import("./EmptyState").IEmptyStateProps, any> & import("hoist-non-react-statics").NonReactStatics<(React.ComponentClass<import("./EmptyState").IEmptyStateProps, any> & typeof import("./EmptyState").EmptyState) | (React.FunctionComponent<import("./EmptyState").IEmptyStateProps> & typeof import("./EmptyState").EmptyState), {}>;
    static contextTypes: {
        baseDashboardStore: PropTypes.Requireable<object>;
    };
    get children(): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>[];
    handleLayoutsChange(newLayouts: IGridLayout[]): void;
    handleOnDragStart(_layout: any, _oldItem: any, _newItem: any, _placeholder: any, _e: any, _node: any, newPosition: {
        top: number;
        left: number;
    }): void;
    render(): {};
}
declare const _default: React.ComponentClass<IPanelProps, any> & import("hoist-non-react-statics").NonReactStatics<(React.ComponentClass<IPanelProps, any> & typeof Panel) | (React.FunctionComponent<IPanelProps> & typeof Panel), {}>;
export default _default;
