import { ISceneLoaderProgressEvent } from '@babylonjs/core/Loading/sceneLoader.js';
import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh.js';
import React, { ReactNode } from 'react';
import { FiberAbstractMeshProps, FiberAbstractMeshPropsCtor } from '../generatedProps';
import { ILoadedModel } from '../hooks/loaders/loadedModel';
export type ModelProps = {
    /**
     * Only used on init.  Will not update dynamically (scaling will update dynamically and override this)
     * An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported
     */
    meshNames?: any;
    receiveShadows?: boolean;
    rootUrl: string;
    sceneFilename: string;
    pluginExtension?: string;
    alwaysSelectAsActiveMesh?: boolean;
    reportProgress?: boolean;
    scaleToDimension?: number;
    onModelLoaded?: (model: ILoadedModel) => void;
    onModelError?: (message: string, exception?: any) => void;
    onLoadProgress?: (event: ISceneLoaderProgressEvent) => void;
    onCreated?: (rootMesh: AbstractMesh) => void;
} & FiberAbstractMeshProps & FiberAbstractMeshPropsCtor & {
    children?: ReactNode | undefined;
};
declare const Model: React.ForwardRefExoticComponent<{
    /**
     * Only used on init.  Will not update dynamically (scaling will update dynamically and override this)
     * An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported
     */
    meshNames?: any;
    receiveShadows?: boolean | undefined;
    rootUrl: string;
    sceneFilename: string;
    pluginExtension?: string | undefined;
    alwaysSelectAsActiveMesh?: boolean | undefined;
    reportProgress?: boolean | undefined;
    scaleToDimension?: number | undefined;
    onModelLoaded?: ((model: ILoadedModel) => void) | undefined;
    onModelError?: ((message: string, exception?: any) => void) | undefined;
    onLoadProgress?: ((event: ISceneLoaderProgressEvent) => void) | undefined;
    onCreated?: ((rootMesh: AbstractMesh) => void) | undefined;
} & {
    actionManager?: import("@babylonjs/core").AbstractActionManager | undefined;
    alphaIndex?: number | undefined;
    alwaysSelectAsActiveMesh?: boolean | undefined;
    applyFog?: boolean | undefined;
    bakedVertexAnimationManager?: import("@babylonjs/core").IBakedVertexAnimationManager | undefined;
    checkCollisions?: boolean | undefined;
    collisionGroup?: number | undefined;
    collisionMask?: number | undefined;
    collisionResponse?: boolean | undefined;
    collisionRetryCount?: number | undefined;
    computeBonesUsingShaders?: boolean | undefined;
    cullingStrategy?: number | undefined;
    definedFacingForward?: boolean | undefined;
    doNotSyncBoundingInfo?: boolean | undefined;
    edgesColor?: import("@babylonjs/core").Color4 | undefined;
    edgesWidth?: number | undefined;
    ellipsoid?: import("@babylonjs/core").Vector3 | undefined;
    'ellipsoid-x'?: number | undefined;
    'ellipsoid-y'?: number | undefined;
    'ellipsoid-z'?: number | undefined;
    ellipsoidOffset?: import("@babylonjs/core").Vector3 | undefined;
    'ellipsoidOffset-x'?: number | undefined;
    'ellipsoidOffset-y'?: number | undefined;
    'ellipsoidOffset-z'?: number | undefined;
    enableDistantPicking?: boolean | undefined;
    enableEdgesRendering?: any;
    enablePointerMoveEvents?: boolean | undefined;
    facetDepthSortFrom?: import("@babylonjs/core").Vector3 | undefined;
    hasVertexAlpha?: boolean | undefined;
    inheritVisibility?: boolean | undefined;
    instancedBuffers?: {
        [key: string]: any;
    } | undefined;
    isBlocker?: boolean | undefined;
    isNearGrabbable?: boolean | undefined;
    isNearPickable?: boolean | undefined;
    isPickable?: boolean | undefined;
    isVisible?: boolean | undefined;
    layerMask?: number | undefined;
    material?: import("@babylonjs/core").Material | undefined;
    morphTargetManager?: import("@babylonjs/core").MorphTargetManager | undefined;
    mustDepthSortFacets?: boolean | undefined;
    numBoneInfluencers?: number | undefined;
    onCollide?: ((collidedMesh?: AbstractMesh | undefined) => void) | undefined;
    onCollideObservable?: any;
    onCollisionPositionChange?: (() => void) | undefined;
    onCollisionPositionChangeObservable?: any;
    onMaterialChangedObservable?: any;
    onRebuildObservable?: any;
    outlineColor?: import("@babylonjs/core").Color3 | undefined;
    outlineWidth?: number | undefined;
    overlayAlpha?: number | undefined;
    overlayColor?: import("@babylonjs/core").Color3 | undefined;
    partitioningBBoxRatio?: number | undefined;
    partitioningSubdivisions?: number | undefined;
    pointerOverDisableMeshTesting?: boolean | undefined;
    rawBoundingInfo?: import("@babylonjs/core").BoundingInfo | undefined;
    receiveShadows?: boolean | undefined;
    renderingGroupId?: number | undefined;
    setBoundingInfo?: any;
    setIndices?: any;
    setMaterialForRenderPass?: any;
    setVerticesData?: any;
    showSubMeshesBoundingBox?: boolean | undefined;
    skeleton?: import("@babylonjs/core").Skeleton | undefined;
    subMeshes?: import("@babylonjs/core").SubMesh[] | undefined;
    surroundingMeshes?: AbstractMesh[] | undefined;
    useOctreeForCollisions?: boolean | undefined;
    useOctreeForPicking?: boolean | undefined;
    useOctreeForRenderingSelection?: boolean | undefined;
    useVertexColors?: boolean | undefined;
    visibility?: number | undefined;
} & {
    addChild?: any;
    addRotation?: any;
    billboardMode?: number | undefined;
    ignoreNonUniformScaling?: boolean | undefined;
    infiniteDistance?: boolean | undefined;
    onAfterWorldMatrixUpdateObservable?: any;
    position?: import("@babylonjs/core").Vector3 | undefined;
    preserveParentRotationForBillboard?: boolean | undefined;
    reIntegrateRotationIntoRotationQuaternion?: boolean | undefined;
    rotation?: import("@babylonjs/core").Vector3 | undefined;
    rotationQuaternion?: import("@babylonjs/core").Quaternion | undefined;
    scaling?: import("@babylonjs/core").Vector3 | undefined;
    scalingDeterminant?: number | undefined;
    setAbsolutePosition?: any;
    setDirection?: any;
    setParent?: any;
    setPivotMatrix?: any;
    setPivotPoint?: any;
    setPositionWithLocalVector?: any;
    setPreTransformMatrix?: any;
    translate?: any;
} & {
    accessibilityTag?: import("@babylonjs/core/IAccessibilityTag").IAccessibilityTag | undefined;
    addBehavior?: any;
    animationPropertiesOverride?: import("@babylonjs/core").AnimationPropertiesOverride | undefined;
    animations?: import("@babylonjs/core").Animation[] | undefined;
    doNotSerialize?: boolean | undefined;
    id?: string | undefined;
    inspectableCustomProperties?: import("@babylonjs/core").IInspectable[] | undefined;
    metadata?: any;
    name?: string | undefined;
    onAccessibilityTagChangedObservable?: any;
    onDispose?: (() => void) | undefined;
    onDisposeObservable?: any;
    onReady?: ((node: import("@babylonjs/core").Node) => void) | undefined;
    parent?: import("@babylonjs/core").Node | undefined;
    reservedDataStore?: any;
    setEnabled?: any;
    state?: string | undefined;
    uniqueId?: number | undefined;
} & import("../CustomProps").CustomProps & FiberAbstractMeshPropsCtor & {
    children?: ReactNode | undefined;
} & React.RefAttributes<AbstractMesh>>;
export default Model;
