import * as React from 'react';
import { FormComponentProps, FormElement } from '@tomino/dynamic-form';
import { CellHighlighter } from './form/cell_highlighter';
import { GridChildProps, GridProps } from '../layouts/grid_view';
import { EditorContextType } from './editor_context';
import { ContextType } from '../context';
export declare type LayoutProps = {
    emptyCell?: string;
    hideLabel?: boolean;
    labelOnly?: boolean;
    highlighter?: CellHighlighter;
};
export declare const cellElement: FormElement<GridChildProps>;
declare type EditorControlProps = {
    props: FormComponentProps;
    formElement: FormElement;
    editorState?: EditorContextType;
    className?: string;
    allowInsert?: boolean;
    EmptyCell?: any;
};
export declare function createComponent(props: FormComponentProps, formElement: FormElement, _context: any, className?: string, allowInsert?: boolean): JSX.Element;
export declare const EditorControl: ({ formElement, props, EmptyCell, className }: EditorControlProps) => JSX.Element;
declare type FirstDropCellProps = {
    elementIndex?: number;
    className?: string;
    id?: string;
};
export declare const EditorDropCell: React.FC<any>;
export declare class SingleDropCell extends React.Component<FormComponentProps & FirstDropCellProps> {
    static contextType: React.Context<import("./editor_state").EditorState>;
    context: EditorContextType;
    highlighter: CellHighlighter;
    drop: () => boolean;
    render(): JSX.Element;
}
export declare function generateEmptyCells(context: ContextType, props: FormComponentProps, element: FormElement<GridProps, GridChildProps>, emptyCell: string): FormElement<any, GridChildProps>[];
export declare const CreateComponents: (props: FormComponentProps<any, any, any>) => JSX.Element[];
export {};
