import { ItemTreeNodeData } from "./services/contentService";
import { ItemDescriptor } from "./pageModel";
import { TreeNode } from "./ui/PerfectTree";
type CustomTreeNode = TreeNode & {
    isDraggable?: boolean;
    iconUrl?: string;
    url?: string;
    loading?: boolean;
    parent?: CustomTreeNode;
    selectable?: boolean;
    className?: string;
};
export default function ContentTree({ isDraggable, dragEnd, expandIdPath, selectionMode, multiSelectRequiresModifier, selectedItemIds, rootItemIds, onSelectionChange, onItemClick, filter, templateIds, className, includeEmbeddedItems, onDoubleClick, selectPagesOnly, renderNode, renderNodePrefix, onItemInserted, language, includeItemPath, scrollToSelected, disableAutoSelectOnExpand, showGrabCursorForDraggableNodes, enableDragAndDrop, enableContextMenu, hideRootNodes, database, }: {
    isDraggable?: (item: ItemTreeNodeData) => boolean;
    dragEnd?: () => void;
    expandIdPath?: string;
    selectionMode?: "single" | "multiple" | "none";
    multiSelectRequiresModifier?: boolean;
    rootItemIds?: string[];
    selectedItemIds?: string[];
    onSelectionChange?: (itemIds: ItemTreeNodeData[]) => void;
    onItemClick?: (item: ItemTreeNodeData, ev: any) => void;
    filter?: (items: ItemTreeNodeData[]) => ItemTreeNodeData[];
    templateIds?: string[];
    className?: string;
    includeEmbeddedItems?: boolean;
    onDoubleClick?: (item: ItemTreeNodeData) => void;
    selectPagesOnly?: boolean;
    onItemInserted?: (item: ItemDescriptor) => void;
    renderNode?: (node: CustomTreeNode, defaultRenderer: (node: CustomTreeNode) => React.ReactNode) => React.ReactNode;
    /** Render content at the far left of each node row (before the expand toggle) */
    renderNodePrefix?: (node: CustomTreeNode, depth: number) => React.ReactNode;
    language: string;
    includeItemPath?: boolean;
    scrollToSelected?: boolean;
    disableAutoSelectOnExpand?: boolean;
    showGrabCursorForDraggableNodes?: boolean;
    enableDragAndDrop?: boolean;
    enableContextMenu?: boolean;
    hideRootNodes?: boolean;
    database?: string;
}): import("react/jsx-runtime").JSX.Element;
export {};
