import type React from "react";
import type { DeepPartial } from "ts-essentials";
import type { BuiltinPanelExtensionContext } from "@foxglove/studio-base/components/PanelExtensionAdapter";
import { type SceneExtensionConfig } from "@foxglove/studio-base/panels/ThreeDeeRender/SceneExtensionConfig";
import type { TestOptions } from "./IRenderer";
import { Renderer } from "./Renderer";
import type { InterfaceMode } from "./types";
/**
 * A panel that renders a 3D scene. This is a thin wrapper around a `Renderer` instance.
 */
export declare function ThreeDeeRender(props: {
    context: BuiltinPanelExtensionContext;
    interfaceMode: InterfaceMode;
    testOptions: TestOptions;
    /** Allow for injection or overriding of default extensions by custom extensions */
    customSceneExtensions?: DeepPartial<SceneExtensionConfig>;
    frameRenderedEvent?: () => void;
    annotationReceivedEventHandler?: () => void;
    handleOnClick?: (event: React.MouseEvent, clickOffsetCoords: {
        offsetX: number;
        offsetY: number;
    } | undefined) => void;
    handleCursorPositionUpdate?: (coordinates: {
        x: number;
        y: number;
    }, offsetCoordinates: {
        offsetX: number;
        offsetY: number;
    } | undefined) => void;
    registerRendered?: (renderer: Renderer) => void;
    unregisterRendered?: () => void;
    customOverlay?: JSX.Element;
}): JSX.Element;
//# sourceMappingURL=ThreeDeeRender.d.ts.map