import { CSSProperties, MutableRefObject } from "react";
import JsonEditor, { JSONEditorOptions as JSONEditorOptionsBase, EditableNode as EditableNodeBase } from "jsoneditor";
export declare type JSONEditorOptions = JSONEditorOptionsBase;
export declare type EditableNode = EditableNodeBase;
export declare type JSONEditorInstance = JsonEditor;
export declare type JSONEditorProps = {
    innerRef?: MutableRefObject<JsonEditor | null>;
    json?: Record<string, unknown>;
    loading?: boolean;
    style?: CSSProperties;
    editorStyle?: CSSProperties;
    options?: Omit<JSONEditorOptions, "schema"> & {
        schema?: Record<string, any>;
        mode?: string;
    };
    onSubmit?: (json: any) => void;
    onPreview?: (json: any) => void | undefined;
    isWaiting?: boolean;
    expandAll?: boolean;
    isWaitingPreview?: boolean;
    hideModeSwitcher?: boolean;
    language?: string;
    text?: {
        treeMode?: string;
        codeMode?: string;
        preview?: string;
        save?: string;
    };
};
