import { default as React } from 'react';
export interface Camera {
    x: number;
    y: number;
    z: number;
}
interface EditorContextProps {
    mode: "infinite" | "paper";
    camera: Camera;
    setCamera: React.Dispatch<React.SetStateAction<Camera>>;
    isSpacePressed: boolean;
    setIsSpacePressed: React.Dispatch<React.SetStateAction<boolean>>;
    isAltPressed: boolean;
    readOnly: boolean;
    gridSize: number;
    showGrid: boolean;
    selectedIds: Set<string>;
    hoveredId: string | null;
    setHoveredId: (id: string | null) => void;
    selectId: (id: string, multi?: boolean) => void;
    selectAll: (ids: string[]) => void;
    clearSelection: () => void;
    registerItem: (id: string, node: HTMLElement) => void;
    unregisterItem: (id: string) => void;
    getItemRect: (id: string) => DOMRect | null;
}
export declare const useEditor: () => EditorContextProps;
export interface EditorRootProps {
    children: React.ReactNode;
    mode?: "infinite" | "paper";
    initialCamera?: Camera;
    readOnly?: boolean;
    gridSize?: number;
    showGrid?: boolean;
}
export declare const EditorRoot: ({ children, mode, initialCamera, readOnly, gridSize, showGrid, }: EditorRootProps) => import("react/jsx-runtime").JSX.Element;
export {};
