import { type ReactNode } from 'react';
import type { ApiClient } from '@riverbankcms/api/request';
import { type ContentTypeSchema } from '@riverbankcms/content-model';
import { type ZoomLevel } from '@riverbankcms/content-editor';
import type { EntrySubrouteContextData, MediaAssetIndexItem, Theme } from '@riverbankcms/blocks';
import type { FieldWidgetComponent } from '@riverbankcms/block-form/client';
import { type ViewportMode, type ViewportWidth } from './PreviewViewportControls';
import type { PreviewEditorSidebarProps, PreviewTemplateData } from './PreviewEditorSidebar';
type EntryEditorPanelProps = {
    siteId: string;
    entryData: NonNullable<PreviewEditorSidebarProps['entryData']>;
    contentTypeSchema?: ContentTypeSchema | null;
    referenceContentTypeKeys: readonly string[];
    draftContent?: Record<string, unknown> | null;
    currentTemplate?: PreviewTemplateData | null;
    theme?: Theme | null;
    apiClient: ApiClient;
    bearerToken?: string | null;
    supabaseUrl?: string;
    entrySubrouteContext?: EntrySubrouteContextData | null;
    metadataPanel: ReactNode;
    mediaAssets?: MediaAssetIndexItem[];
    widgets: Record<string, FieldWidgetComponent>;
    viewportMode: ViewportMode;
    viewportWidth: ViewportWidth;
    zoom: ZoomLevel;
    onViewportModeChange: (mode: ViewportMode) => void;
    onViewportWidthChange: (width: ViewportWidth) => void;
    onZoomChange: (zoom: ZoomLevel) => void;
};
export declare function EntryEditorPanel({ siteId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, metadataPanel, mediaAssets, widgets, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: EntryEditorPanelProps): import("react/jsx-runtime").JSX.Element;
export {};
