import { EditorStateType, Element } from '../types';
import { Theme } from '@mui/material';
import { EditorRendererControllerType } from '../types/editorRendererController';
import { FC, ReactNode } from 'react';

export declare const renderElements: (params: {
    elements: Element[];
    allElements: Element[];
    editorState: EditorStateType;
    appController: EditorRendererControllerType["appController"];
    currentViewportElements: Element[];
    ELEMENT_MODELS: EditorRendererControllerType["ELEMENT_MODELS"];
    uiActions?: unknown;
    onSelectElement: (element: Element, isHovering: boolean) => void;
    theme: Theme;
    isProduction?: boolean;
    icons: Record<string, string>;
    parentId?: string;
    isPointerProduction?: boolean;
    baseComponentId?: string;
    disableOverlay?: boolean;
    rootCompositeElementId?: string;
    OverlayComponent?: FC<{
        element: Element;
    }>;
    disableElementEvents?: boolean;
    navigate: (to: string) => void;
    injections?: {
        elements: Record<string, any>;
        elementReplacementComponent: Record<string, ReactNode>;
    };
}) => ReactNode;
