import { type ComponentProps } from "react";
import type { BmtModelData } from "./Loaders/BmtLoader";
import { Canvas } from "@react-three/fiber";
import type { ViewerMaterialMode } from "./types";
import { type ViewerApi, type ViewerSelection } from "./api/ViewerApi";
import { type ViewerModelSource } from "./api/loader";
type ModelsData = Record<number, BmtModelData>;
export type ViewerModelsData = ModelsData;
export type ViewerProps = {
    autoFitCamera?: boolean;
    camera?: ComponentProps<typeof Canvas>["camera"];
    dpr?: ComponentProps<typeof Canvas>["dpr"];
    defaultSelected?: ViewerSelection;
    fitToView?: boolean;
    materialMode?: ViewerMaterialMode;
    modelUrls?: string[];
    modelSources?: ViewerModelSource[];
    modelsData?: ModelsData;
    onReady?: (api: ViewerApi) => void;
    onSelectedChange?: (selected: ViewerSelection) => void;
    performanceMode?: boolean;
    selected?: ViewerSelection;
    showNavCube?: boolean;
    showStats?: boolean;
    usePerformanceMoving?: boolean;
    useWebGPU?: boolean;
};
declare const Viewer: import("react").ForwardRefExoticComponent<ViewerProps & import("react").RefAttributes<ViewerApi>>;
export default Viewer;
