import React from "react";
import { XDataDefinition } from "../../Common/Data/XDataDefinition";
import { ObjectDataDefinition } from "../../Common/Data/Definitions/ObjectDataDefinition";
import { IDataDefinition } from "../../Common/Data/Definitions/IDataDefinition";
import { AddFieldToDataStructure } from "../../Common/Data/ExecutionData/AddFieldToDataStructure";
export interface DefinitionEditorProps {
    definition: XDataDefinition;
    readOnly?: boolean;
}
export declare enum IDefinitionEditorMode {
    Definition = "Definition",
    JSON = "JSON",
    SCHEMA = "JSON SCHEMA"
}
export declare const XDefinitionEditor: (props: DefinitionEditorProps) => JSX.Element;
export interface CommonProps {
    data: XDataDefinition;
    onUpdate: (newValue?: any) => void;
}
interface ISubFieldsEditor extends CommonProps {
    path?: string;
    fields: IDataDefinition[];
    readOnly?: boolean;
    parentId?: string;
}
export declare const SubFieldsEditor: React.FC<ISubFieldsEditor>;
interface IValuesTable extends CommonProps {
    path: string;
    field: ObjectDataDefinition;
    showLabel?: boolean;
    oneRow?: boolean;
    readOnly?: boolean;
    value: any;
}
export declare const ValuesTable: React.FC<IValuesTable>;
interface ISubValues extends CommonProps {
    path?: string;
    fields: IDataDefinition[];
    showLabel?: boolean;
    noBorder?: boolean;
    noSetMinHeight?: boolean;
    readOnly?: boolean;
    value: any;
}
export declare const SubValues: React.FC<ISubValues>;
interface IFieldControl extends CommonProps {
    field: IDataDefinition;
    path: string;
    showValueControl?: boolean;
    viewDetails?: boolean;
    index: number;
    isLast?: boolean;
    onCollapse?: () => void;
    readOnly?: boolean;
}
export declare const FieldControl: React.FC<IFieldControl>;
interface IFieldEditor extends CommonProps {
    path: string;
    field: IDataDefinition;
    index: number;
    isLast?: boolean;
    readOnly?: boolean;
    parentId?: string;
}
export declare const FieldEditor: React.FC<IFieldEditor>;
interface IValueEditor extends CommonProps {
    field: IDataDefinition;
    path: string;
    noSetMinHeight?: boolean;
    noBorder?: boolean;
    showLabel?: boolean;
    disableEditLayer?: boolean;
    notHostEditLayer?: boolean;
    readOnly?: boolean;
    value: any;
}
export declare const ValueEditor: React.FC<IValueEditor>;
interface ILineButtons {
    data: XDataDefinition;
    path: string;
    index: number;
    isLast?: boolean;
    show: boolean;
    onUpdate: () => void;
    field: IDataDefinition;
}
export declare const LineButtons: React.FC<ILineButtons>;
interface IEditModal {
    open: boolean;
    onClose: () => void;
    onEdit: (value: string) => void;
    value: string;
}
export declare const EditModal: React.FC<IEditModal>;
interface IDataChangesModal {
    open: boolean;
    onClose: () => void;
    onUpdate: (changes: any) => void;
    data: AddFieldToDataStructure[];
}
export declare const DataChangesModal: React.FC<IDataChangesModal>;
export {};
