import * as React from 'react';
import { JsonSchema7 } from '@jsonforms/core';
import { Property } from '../services/property.util';
import { InstanceLabelProvider } from '../helpers/LabelProvider';
/**
 * Represents an item within the master view.
 */
export interface ObjectListItemProps {
    path: string;
    schema: JsonSchema7;
    rootData: any;
    data: any;
    selection: any;
    handlers: {
        onRemove?: any;
        onAdd: any;
        onSelect: any;
    };
    filterPredicate: any;
    /**
     * Self contained schemas of the corresponding schema
     */
    containerProperties?: Property[];
    imageProvider: any;
    labelProvider: InstanceLabelProvider;
}
export interface ObjectListItemDndProps extends ObjectListItemProps {
    moveListItem: any;
    isRoot?: boolean;
    /**
     * The Containment Properties of the parent list containing this item.
     * Will be needed to determine whether another list item can be dropped next to this one.
     */
    parentProperties?: Property[];
    isDragging: boolean;
    connectDragSource: any;
    connectDropTarget: any;
}
export declare class ObjectListItemDnd extends React.Component<ObjectListItemDndProps, any> {
    render(): any;
}
declare const _default: import("react-redux").ConnectedComponentClass<typeof ObjectListItemDnd & import("react-dnd/lib/interfaces").DndComponentClass<any, {}, React.StatelessComponent<any> | React.Component<any, {}, any>, typeof ObjectListItemDnd> & import("react-dnd/lib/interfaces").DndComponentClass<any, {}, React.StatelessComponent<any> | React.Component<any, {}, any>, typeof ObjectListItemDnd & import("react-dnd/lib/interfaces").DndComponentClass<any, {}, React.StatelessComponent<any> | React.Component<any, {}, any>, typeof ObjectListItemDnd>>, any>;
export default _default;
