import * as React from 'react';
import { PageContent } from "../../../models/index.js";
import './Editor.css';
interface SidebarTabComponent {
    id: string;
    title: string;
    component: React.ElementType;
}
interface EditorSlots {
    middleTop?: React.ElementType;
    leftTop?: React.ElementType[];
    rightTop?: React.ElementType[];
    leftTabs?: SidebarTabComponent[];
    rightTabs?: SidebarTabComponent[];
}
export interface EditorProviderProps {
    initialUrl: string;
    disableUrlField?: boolean;
    children: React.ReactNode;
}
export interface EditorViewProps {
    onUpdate?: (pageContent: PageContent) => void;
    content?: PageContent;
    slots?: EditorSlots;
}
type EditorProps = Omit<EditorProviderProps, 'children'> & EditorViewProps;
export declare const EditorProvider: ({ initialUrl, disableUrlField, children }: EditorProviderProps) => import("react/jsx-runtime").JSX.Element;
export declare const EditorView: (props: EditorViewProps) => import("react/jsx-runtime").JSX.Element;
export declare const Editor: (props: EditorProps) => import("react/jsx-runtime").JSX.Element;
export {};
