import React from "react";
import { EditorConfiguration } from "../../config/types";
import "react-json-view-lite/dist/index.css";
import { FieldDescriptor, UserInfo, UserPreferences, ParheliaSettings } from "../../types";
import { ItemDescriptor } from "../pageModel";
import type { LicenseStatus } from "../../licensing";
export type FieldAction = {
    field: FieldDescriptor;
    message?: string;
    state: "running" | "success" | "error";
    label?: string;
    agentId?: string;
};
export type WindowSize = {
    width: number;
    height: number;
};
export type WebSocketMessage = {
    id: string;
    timestamp: string;
    direction?: "incoming" | "outgoing";
    type: string;
    payload: any;
    rawMessage: string;
    agentId?: string | null;
    seq?: number | null;
    detail?: string | null;
    payloadBytes?: number | null;
};
export declare function EditorShell({ configuration, className, item: loadItemDescriptor, sessionId, userInfo, userPreferences, initialLicenseStatus, initialLicenseStatusLoaded, parheliaSettings, parheliaSettingsLoaded, setUserPreferences, children, }: {
    configuration: EditorConfiguration;
    className?: string;
    item?: ItemDescriptor;
    sessionId: string;
    userInfo: UserInfo;
    userPreferences: UserPreferences;
    initialLicenseStatus?: LicenseStatus | null;
    initialLicenseStatusLoaded?: boolean;
    parheliaSettings?: ParheliaSettings;
    parheliaSettingsLoaded?: boolean;
    setUserPreferences: (preferences: Partial<UserPreferences>) => void;
    children?: React.ReactNode;
}): React.JSX.Element | null;
