declare const _default: () => import("vue").Ref<{
    type: "Scene";
    fog: {
        name: string;
        color: {
            readonly isColor: true;
            r: number;
            g: number;
            b: number;
            set: (color: import("three").ColorRepresentation) => import("three").Color;
            setScalar: (scalar: number) => import("three").Color;
            setHex: (hex: number, colorSpace?: import("three").ColorSpace | undefined) => import("three").Color;
            setRGB: (r: number, g: number, b: number, colorSpace?: import("three").ColorSpace | undefined) => import("three").Color;
            setHSL: (h: number, s: number, l: number, colorSpace?: import("three").ColorSpace | undefined) => import("three").Color;
            setStyle: (style: string, colorSpace?: import("three").ColorSpace | undefined) => import("three").Color;
            setColorName: (style: string, colorSpace?: import("three").ColorSpace | undefined) => import("three").Color;
            clone: () => import("three").Color;
            copy: (color: import("three").Color) => import("three").Color;
            copySRGBToLinear: (color: import("three").Color) => import("three").Color;
            copyLinearToSRGB: (color: import("three").Color) => import("three").Color;
            convertSRGBToLinear: () => import("three").Color;
            convertLinearToSRGB: () => import("three").Color;
            getHex: (colorSpace?: import("three").ColorSpace | undefined) => number;
            getHexString: (colorSpace?: import("three").ColorSpace | undefined) => string;
            getHSL: (target: import("three").HSL, colorSpace?: import("three").ColorSpace | undefined) => import("three").HSL;
            getRGB: (target: import("three").RGB, colorSpace?: import("three").ColorSpace | undefined) => import("three").RGB;
            getStyle: (colorSpace?: import("three").ColorSpace | undefined) => string;
            offsetHSL: (h: number, s: number, l: number) => import("three").Color;
            add: (color: import("three").Color) => import("three").Color;
            addColors: (color1: import("three").Color, color2: import("three").Color) => import("three").Color;
            addScalar: (s: number) => import("three").Color;
            sub: (color: import("three").Color) => import("three").Color;
            multiply: (color: import("three").Color) => import("three").Color;
            multiplyScalar: (s: number) => import("three").Color;
            lerp: (color: import("three").Color, alpha: number) => import("three").Color;
            lerpColors: (color1: import("three").Color, color2: import("three").Color, alpha: number) => import("three").Color;
            lerpHSL: (color: import("three").Color, alpha: number) => import("three").Color;
            equals: (color: import("three").Color) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Color;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (xyz: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => import("three").Color;
            [Symbol.iterator]: () => Generator<number, void, unknown>;
        };
        clone: () => import("three").FogBase;
        toJSON: () => any;
    } | null;
    backgroundBlurriness: number;
    backgroundIntensity: number;
    overrideMaterial: {
        alphaTest: number;
        alphaToCoverage: boolean;
        blendDst: import("three").BlendingDstFactor;
        blendDstAlpha: number | null;
        blendEquation: import("three").BlendingEquation;
        blendEquationAlpha: number | null;
        blending: import("three").Blending;
        blendSrc: import("three").BlendingSrcFactor | import("three").BlendingDstFactor;
        blendSrcAlpha: number | null;
        clipIntersection: boolean;
        clippingPlanes: any;
        clipShadows: boolean;
        colorWrite: boolean;
        defines: {
            [key: string]: any;
        } | undefined;
        depthFunc: import("three").DepthModes;
        depthTest: boolean;
        depthWrite: boolean;
        id: number;
        stencilWrite: boolean;
        stencilFunc: import("three").StencilFunc;
        stencilRef: number;
        stencilWriteMask: number;
        stencilFuncMask: number;
        stencilFail: import("three").StencilOp;
        stencilZFail: import("three").StencilOp;
        stencilZPass: import("three").StencilOp;
        readonly isMaterial: true;
        name: string;
        needsUpdate: boolean;
        opacity: number;
        polygonOffset: boolean;
        polygonOffsetFactor: number;
        polygonOffsetUnits: number;
        precision: "highp" | "mediump" | "lowp" | null;
        premultipliedAlpha: boolean;
        forceSinglePass: boolean;
        dithering: boolean;
        side: import("three").Side;
        shadowSide: import("three").Side | null;
        toneMapped: boolean;
        transparent: boolean;
        type: string;
        uuid: string;
        vertexColors: boolean;
        visible: boolean;
        userData: any;
        version: number;
        clone: () => import("three").Material;
        copy: (material: import("three").Material) => import("three").Material;
        dispose: () => void;
        onBeforeCompile: (shader: import("three").Shader, renderer: import("three").WebGLRenderer) => void;
        customProgramCacheKey: () => string;
        setValues: (values: import("three").MaterialParameters) => void;
        toJSON: (meta?: any) => any;
        addEventListener: <T extends string>(type: T, listener: import("three").EventListener<import("three").Event, T, import("three").Material>) => void;
        hasEventListener: <T_1 extends string>(type: T_1, listener: import("three").EventListener<import("three").Event, T_1, import("three").Material>) => boolean;
        removeEventListener: <T_2 extends string>(type: T_2, listener: import("three").EventListener<import("three").Event, T_2, import("three").Material>) => void;
        dispatchEvent: (event: import("three").Event) => void;
    } | null;
    background: {
        readonly isColor: true;
        r: number;
        g: number;
        b: number;
        set: (color: import("three").ColorRepresentation) => import("three").Color;
        setScalar: (scalar: number) => import("three").Color;
        setHex: (hex: number, colorSpace?: import("three").ColorSpace | undefined) => import("three").Color;
        setRGB: (r: number, g: number, b: number, colorSpace?: import("three").ColorSpace | undefined) => import("three").Color;
        setHSL: (h: number, s: number, l: number, colorSpace?: import("three").ColorSpace | undefined) => import("three").Color;
        setStyle: (style: string, colorSpace?: import("three").ColorSpace | undefined) => import("three").Color;
        setColorName: (style: string, colorSpace?: import("three").ColorSpace | undefined) => import("three").Color;
        clone: () => import("three").Color;
        copy: (color: import("three").Color) => import("three").Color;
        copySRGBToLinear: (color: import("three").Color) => import("three").Color;
        copyLinearToSRGB: (color: import("three").Color) => import("three").Color;
        convertSRGBToLinear: () => import("three").Color;
        convertLinearToSRGB: () => import("three").Color;
        getHex: (colorSpace?: import("three").ColorSpace | undefined) => number;
        getHexString: (colorSpace?: import("three").ColorSpace | undefined) => string;
        getHSL: (target: import("three").HSL, colorSpace?: import("three").ColorSpace | undefined) => import("three").HSL;
        getRGB: (target: import("three").RGB, colorSpace?: import("three").ColorSpace | undefined) => import("three").RGB;
        getStyle: (colorSpace?: import("three").ColorSpace | undefined) => string;
        offsetHSL: (h: number, s: number, l: number) => import("three").Color;
        add: (color: import("three").Color) => import("three").Color;
        addColors: (color1: import("three").Color, color2: import("three").Color) => import("three").Color;
        addScalar: (s: number) => import("three").Color;
        sub: (color: import("three").Color) => import("three").Color;
        multiply: (color: import("three").Color) => import("three").Color;
        multiplyScalar: (s: number) => import("three").Color;
        lerp: (color: import("three").Color, alpha: number) => import("three").Color;
        lerpColors: (color1: import("three").Color, color2: import("three").Color, alpha: number) => import("three").Color;
        lerpHSL: (color: import("three").Color, alpha: number) => import("three").Color;
        equals: (color: import("three").Color) => boolean;
        fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Color;
        toArray: {
            (array?: number[] | undefined, offset?: number | undefined): number[];
            (xyz: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
        };
        fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => import("three").Color;
        [Symbol.iterator]: () => Generator<number, void, unknown>;
    } | {
        id: number;
        uuid: string;
        name: string;
        sourceFile: string;
        source: {
            data: any;
            needsUpdate: boolean;
            uuid: string;
            version: number;
            toJSON: (meta: any) => any;
            readonly isTexture: true;
        };
        image: any;
        mipmaps: any[];
        mapping: import("three").Mapping;
        wrapS: import("three").Wrapping;
        wrapT: import("three").Wrapping;
        magFilter: import("three").TextureFilter;
        minFilter: import("three").TextureFilter;
        anisotropy: number;
        format: import("three").PixelFormat;
        internalFormat: import("three").PixelFormatGPU | null;
        type: import("three").TextureDataType;
        matrix: {
            elements: number[];
            set: (n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number) => import("three").Matrix3;
            identity: () => import("three").Matrix3;
            clone: () => import("three").Matrix3;
            copy: (m: import("three").Matrix3) => import("three").Matrix3;
            extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix3;
            setFromMatrix4: (m: import("three").Matrix4) => import("three").Matrix3;
            multiplyScalar: (s: number) => import("three").Matrix3;
            determinant: () => number;
            invert: () => import("three").Matrix3;
            transpose: () => import("three").Matrix3;
            getNormalMatrix: (matrix4: import("three").Matrix4) => import("three").Matrix3;
            transposeIntoArray: (r: number[]) => import("three").Matrix3;
            setUvTransform: (tx: number, ty: number, sx: number, sy: number, rotation: number, cx: number, cy: number) => import("three").Matrix3;
            scale: (sx: number, sy: number) => import("three").Matrix3;
            makeTranslation: {
                (x: number, y: number): import("three").Matrix3;
                (x: number, y: number): import("three").Matrix3;
            };
            makeRotation: {
                (theta: number): import("three").Matrix3;
                (theta: number): import("three").Matrix3;
            };
            makeScale: {
                (x: number, y: number): import("three").Matrix3;
                (x: number, y: number): import("three").Matrix3;
            };
            rotate: (theta: number) => import("three").Matrix3;
            translate: (tx: number, ty: number) => import("three").Matrix3;
            equals: (matrix: import("three").Matrix3) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix3;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Matrix3Tuple | undefined, offset?: 0 | undefined): import("three").Matrix3Tuple;
                (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
            };
            multiply: (m: import("three").Matrix3) => import("three").Matrix3;
            premultiply: (m: import("three").Matrix3) => import("three").Matrix3;
            multiplyMatrices: (a: import("three").Matrix3, b: import("three").Matrix3) => import("three").Matrix3;
            multiplyVector3: (vector: import("three").Vector3) => any;
            multiplyVector3Array: (a: any) => any;
            getInverse: {
                (matrix: import("three").Matrix4, throwOnDegenerate?: boolean | undefined): import("three").Matrix3;
                (matrix: import("three").Matrix): import("three").Matrix;
            };
            flattenToArrayOffset: (array: number[], offset: number) => number[];
        };
        matrixAutoUpdate: boolean;
        offset: {
            x: number;
            y: number;
            width: number;
            height: number;
            readonly isVector2: true;
            set: (x: number, y: number) => import("three").Vector2;
            setScalar: (scalar: number) => import("three").Vector2;
            setX: (x: number) => import("three").Vector2;
            setY: (y: number) => import("three").Vector2;
            setComponent: (index: number, value: number) => import("three").Vector2;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector2;
            copy: (v: import("three").Vector2) => import("three").Vector2;
            add: (v: import("three").Vector2, w?: import("three").Vector2 | undefined) => import("three").Vector2;
            addScalar: (s: number) => import("three").Vector2;
            addVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            addScaledVector: (v: import("three").Vector2, s: number) => import("three").Vector2;
            sub: (v: import("three").Vector2) => import("three").Vector2;
            subScalar: (s: number) => import("three").Vector2;
            subVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            multiply: (v: import("three").Vector2) => import("three").Vector2;
            multiplyScalar: (scalar: number) => import("three").Vector2;
            divide: (v: import("three").Vector2) => import("three").Vector2;
            divideScalar: (s: number) => import("three").Vector2;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector2;
            min: (v: import("three").Vector2) => import("three").Vector2;
            max: (v: import("three").Vector2) => import("three").Vector2;
            clamp: (min: import("three").Vector2, max: import("three").Vector2) => import("three").Vector2;
            clampScalar: (min: number, max: number) => import("three").Vector2;
            clampLength: (min: number, max: number) => import("three").Vector2;
            floor: () => import("three").Vector2;
            ceil: () => import("three").Vector2;
            round: () => import("three").Vector2;
            roundToZero: () => import("three").Vector2;
            negate: () => import("three").Vector2;
            dot: (v: import("three").Vector2) => number;
            cross: (v: import("three").Vector2) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            normalize: () => import("three").Vector2;
            angle: () => number;
            distanceTo: (v: import("three").Vector2) => number;
            distanceToSquared: (v: import("three").Vector2) => number;
            distanceToManhattan: (v: import("three").Vector2) => number;
            manhattanDistanceTo: (v: import("three").Vector2) => number;
            setLength: (length: number) => import("three").Vector2;
            lerp: (v: import("three").Vector2, alpha: number) => import("three").Vector2;
            lerpVectors: (v1: import("three").Vector2, v2: import("three").Vector2, alpha: number) => import("three").Vector2;
            equals: (v: import("three").Vector2) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector2;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector2Tuple | undefined, offset?: 0 | undefined): import("three").Vector2Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => import("three").Vector2;
            rotateAround: (center: import("three").Vector2, angle: number) => import("three").Vector2;
            random: () => import("three").Vector2;
        };
        repeat: {
            x: number;
            y: number;
            width: number;
            height: number;
            readonly isVector2: true;
            set: (x: number, y: number) => import("three").Vector2;
            setScalar: (scalar: number) => import("three").Vector2;
            setX: (x: number) => import("three").Vector2;
            setY: (y: number) => import("three").Vector2;
            setComponent: (index: number, value: number) => import("three").Vector2;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector2;
            copy: (v: import("three").Vector2) => import("three").Vector2;
            add: (v: import("three").Vector2, w?: import("three").Vector2 | undefined) => import("three").Vector2;
            addScalar: (s: number) => import("three").Vector2;
            addVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            addScaledVector: (v: import("three").Vector2, s: number) => import("three").Vector2;
            sub: (v: import("three").Vector2) => import("three").Vector2;
            subScalar: (s: number) => import("three").Vector2;
            subVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            multiply: (v: import("three").Vector2) => import("three").Vector2;
            multiplyScalar: (scalar: number) => import("three").Vector2;
            divide: (v: import("three").Vector2) => import("three").Vector2;
            divideScalar: (s: number) => import("three").Vector2;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector2;
            min: (v: import("three").Vector2) => import("three").Vector2;
            max: (v: import("three").Vector2) => import("three").Vector2;
            clamp: (min: import("three").Vector2, max: import("three").Vector2) => import("three").Vector2;
            clampScalar: (min: number, max: number) => import("three").Vector2;
            clampLength: (min: number, max: number) => import("three").Vector2;
            floor: () => import("three").Vector2;
            ceil: () => import("three").Vector2;
            round: () => import("three").Vector2;
            roundToZero: () => import("three").Vector2;
            negate: () => import("three").Vector2;
            dot: (v: import("three").Vector2) => number;
            cross: (v: import("three").Vector2) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            normalize: () => import("three").Vector2;
            angle: () => number;
            distanceTo: (v: import("three").Vector2) => number;
            distanceToSquared: (v: import("three").Vector2) => number;
            distanceToManhattan: (v: import("three").Vector2) => number;
            manhattanDistanceTo: (v: import("three").Vector2) => number;
            setLength: (length: number) => import("three").Vector2;
            lerp: (v: import("three").Vector2, alpha: number) => import("three").Vector2;
            lerpVectors: (v1: import("three").Vector2, v2: import("three").Vector2, alpha: number) => import("three").Vector2;
            equals: (v: import("three").Vector2) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector2;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector2Tuple | undefined, offset?: 0 | undefined): import("three").Vector2Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => import("three").Vector2;
            rotateAround: (center: import("three").Vector2, angle: number) => import("three").Vector2;
            random: () => import("three").Vector2;
        };
        center: {
            x: number;
            y: number;
            width: number;
            height: number;
            readonly isVector2: true;
            set: (x: number, y: number) => import("three").Vector2;
            setScalar: (scalar: number) => import("three").Vector2;
            setX: (x: number) => import("three").Vector2;
            setY: (y: number) => import("three").Vector2;
            setComponent: (index: number, value: number) => import("three").Vector2;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector2;
            copy: (v: import("three").Vector2) => import("three").Vector2;
            add: (v: import("three").Vector2, w?: import("three").Vector2 | undefined) => import("three").Vector2;
            addScalar: (s: number) => import("three").Vector2;
            addVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            addScaledVector: (v: import("three").Vector2, s: number) => import("three").Vector2;
            sub: (v: import("three").Vector2) => import("three").Vector2;
            subScalar: (s: number) => import("three").Vector2;
            subVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            multiply: (v: import("three").Vector2) => import("three").Vector2;
            multiplyScalar: (scalar: number) => import("three").Vector2;
            divide: (v: import("three").Vector2) => import("three").Vector2;
            divideScalar: (s: number) => import("three").Vector2;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector2;
            min: (v: import("three").Vector2) => import("three").Vector2;
            max: (v: import("three").Vector2) => import("three").Vector2;
            clamp: (min: import("three").Vector2, max: import("three").Vector2) => import("three").Vector2;
            clampScalar: (min: number, max: number) => import("three").Vector2;
            clampLength: (min: number, max: number) => import("three").Vector2;
            floor: () => import("three").Vector2;
            ceil: () => import("three").Vector2;
            round: () => import("three").Vector2;
            roundToZero: () => import("three").Vector2;
            negate: () => import("three").Vector2;
            dot: (v: import("three").Vector2) => number;
            cross: (v: import("three").Vector2) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            normalize: () => import("three").Vector2;
            angle: () => number;
            distanceTo: (v: import("three").Vector2) => number;
            distanceToSquared: (v: import("three").Vector2) => number;
            distanceToManhattan: (v: import("three").Vector2) => number;
            manhattanDistanceTo: (v: import("three").Vector2) => number;
            setLength: (length: number) => import("three").Vector2;
            lerp: (v: import("three").Vector2, alpha: number) => import("three").Vector2;
            lerpVectors: (v1: import("three").Vector2, v2: import("three").Vector2, alpha: number) => import("three").Vector2;
            equals: (v: import("three").Vector2) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector2;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector2Tuple | undefined, offset?: 0 | undefined): import("three").Vector2Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => import("three").Vector2;
            rotateAround: (center: import("three").Vector2, angle: number) => import("three").Vector2;
            random: () => import("three").Vector2;
        };
        rotation: number;
        generateMipmaps: boolean;
        premultiplyAlpha: boolean;
        flipY: boolean;
        unpackAlignment: number;
        encoding: import("three").TextureEncoding;
        isRenderTargetTexture: boolean;
        needsPMREMUpdate: boolean;
        userData: any;
        version: number;
        needsUpdate: boolean;
        readonly isTexture: true;
        onUpdate: () => void;
        clone: () => import("three").Texture;
        copy: (source: import("three").Texture) => import("three").Texture;
        toJSON: (meta: any) => any;
        dispose: () => void;
        transformUv: (uv: import("three").Vector2) => import("three").Vector2;
        updateMatrix: () => void;
        addEventListener: <T_3 extends string>(type: T_3, listener: import("three").EventListener<import("three").Event, T_3, import("three").Texture>) => void;
        hasEventListener: <T_4 extends string>(type: T_4, listener: import("three").EventListener<import("three").Event, T_4, import("three").Texture>) => boolean;
        removeEventListener: <T_5 extends string>(type: T_5, listener: import("three").EventListener<import("three").Event, T_5, import("three").Texture>) => void;
        dispatchEvent: (event: import("three").Event) => void;
    } | null;
    environment: {
        id: number;
        uuid: string;
        name: string;
        sourceFile: string;
        source: {
            data: any;
            needsUpdate: boolean;
            uuid: string;
            version: number;
            toJSON: (meta: any) => any;
            readonly isTexture: true;
        };
        image: any;
        mipmaps: any[];
        mapping: import("three").Mapping;
        wrapS: import("three").Wrapping;
        wrapT: import("three").Wrapping;
        magFilter: import("three").TextureFilter;
        minFilter: import("three").TextureFilter;
        anisotropy: number;
        format: import("three").PixelFormat;
        internalFormat: import("three").PixelFormatGPU | null;
        type: import("three").TextureDataType;
        matrix: {
            elements: number[];
            set: (n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number) => import("three").Matrix3;
            identity: () => import("three").Matrix3;
            clone: () => import("three").Matrix3;
            copy: (m: import("three").Matrix3) => import("three").Matrix3;
            extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix3;
            setFromMatrix4: (m: import("three").Matrix4) => import("three").Matrix3;
            multiplyScalar: (s: number) => import("three").Matrix3;
            determinant: () => number;
            invert: () => import("three").Matrix3;
            transpose: () => import("three").Matrix3;
            getNormalMatrix: (matrix4: import("three").Matrix4) => import("three").Matrix3;
            transposeIntoArray: (r: number[]) => import("three").Matrix3;
            setUvTransform: (tx: number, ty: number, sx: number, sy: number, rotation: number, cx: number, cy: number) => import("three").Matrix3;
            scale: (sx: number, sy: number) => import("three").Matrix3;
            makeTranslation: {
                (x: number, y: number): import("three").Matrix3;
                (x: number, y: number): import("three").Matrix3;
            };
            makeRotation: {
                (theta: number): import("three").Matrix3;
                (theta: number): import("three").Matrix3;
            };
            makeScale: {
                (x: number, y: number): import("three").Matrix3;
                (x: number, y: number): import("three").Matrix3;
            };
            rotate: (theta: number) => import("three").Matrix3;
            translate: (tx: number, ty: number) => import("three").Matrix3;
            equals: (matrix: import("three").Matrix3) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix3;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Matrix3Tuple | undefined, offset?: 0 | undefined): import("three").Matrix3Tuple;
                (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
            };
            multiply: (m: import("three").Matrix3) => import("three").Matrix3;
            premultiply: (m: import("three").Matrix3) => import("three").Matrix3;
            multiplyMatrices: (a: import("three").Matrix3, b: import("three").Matrix3) => import("three").Matrix3;
            multiplyVector3: (vector: import("three").Vector3) => any;
            multiplyVector3Array: (a: any) => any;
            getInverse: {
                (matrix: import("three").Matrix4, throwOnDegenerate?: boolean | undefined): import("three").Matrix3;
                (matrix: import("three").Matrix): import("three").Matrix;
            };
            flattenToArrayOffset: (array: number[], offset: number) => number[];
        };
        matrixAutoUpdate: boolean;
        offset: {
            x: number;
            y: number;
            width: number;
            height: number;
            readonly isVector2: true;
            set: (x: number, y: number) => import("three").Vector2;
            setScalar: (scalar: number) => import("three").Vector2;
            setX: (x: number) => import("three").Vector2;
            setY: (y: number) => import("three").Vector2;
            setComponent: (index: number, value: number) => import("three").Vector2;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector2;
            copy: (v: import("three").Vector2) => import("three").Vector2;
            add: (v: import("three").Vector2, w?: import("three").Vector2 | undefined) => import("three").Vector2;
            addScalar: (s: number) => import("three").Vector2;
            addVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            addScaledVector: (v: import("three").Vector2, s: number) => import("three").Vector2;
            sub: (v: import("three").Vector2) => import("three").Vector2;
            subScalar: (s: number) => import("three").Vector2;
            subVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            multiply: (v: import("three").Vector2) => import("three").Vector2;
            multiplyScalar: (scalar: number) => import("three").Vector2;
            divide: (v: import("three").Vector2) => import("three").Vector2;
            divideScalar: (s: number) => import("three").Vector2;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector2;
            min: (v: import("three").Vector2) => import("three").Vector2;
            max: (v: import("three").Vector2) => import("three").Vector2;
            clamp: (min: import("three").Vector2, max: import("three").Vector2) => import("three").Vector2;
            clampScalar: (min: number, max: number) => import("three").Vector2;
            clampLength: (min: number, max: number) => import("three").Vector2;
            floor: () => import("three").Vector2;
            ceil: () => import("three").Vector2;
            round: () => import("three").Vector2;
            roundToZero: () => import("three").Vector2;
            negate: () => import("three").Vector2;
            dot: (v: import("three").Vector2) => number;
            cross: (v: import("three").Vector2) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            normalize: () => import("three").Vector2;
            angle: () => number;
            distanceTo: (v: import("three").Vector2) => number;
            distanceToSquared: (v: import("three").Vector2) => number;
            distanceToManhattan: (v: import("three").Vector2) => number;
            manhattanDistanceTo: (v: import("three").Vector2) => number;
            setLength: (length: number) => import("three").Vector2;
            lerp: (v: import("three").Vector2, alpha: number) => import("three").Vector2;
            lerpVectors: (v1: import("three").Vector2, v2: import("three").Vector2, alpha: number) => import("three").Vector2;
            equals: (v: import("three").Vector2) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector2;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector2Tuple | undefined, offset?: 0 | undefined): import("three").Vector2Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => import("three").Vector2;
            rotateAround: (center: import("three").Vector2, angle: number) => import("three").Vector2;
            random: () => import("three").Vector2;
        };
        repeat: {
            x: number;
            y: number;
            width: number;
            height: number;
            readonly isVector2: true;
            set: (x: number, y: number) => import("three").Vector2;
            setScalar: (scalar: number) => import("three").Vector2;
            setX: (x: number) => import("three").Vector2;
            setY: (y: number) => import("three").Vector2;
            setComponent: (index: number, value: number) => import("three").Vector2;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector2;
            copy: (v: import("three").Vector2) => import("three").Vector2;
            add: (v: import("three").Vector2, w?: import("three").Vector2 | undefined) => import("three").Vector2;
            addScalar: (s: number) => import("three").Vector2;
            addVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            addScaledVector: (v: import("three").Vector2, s: number) => import("three").Vector2;
            sub: (v: import("three").Vector2) => import("three").Vector2;
            subScalar: (s: number) => import("three").Vector2;
            subVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            multiply: (v: import("three").Vector2) => import("three").Vector2;
            multiplyScalar: (scalar: number) => import("three").Vector2;
            divide: (v: import("three").Vector2) => import("three").Vector2;
            divideScalar: (s: number) => import("three").Vector2;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector2;
            min: (v: import("three").Vector2) => import("three").Vector2;
            max: (v: import("three").Vector2) => import("three").Vector2;
            clamp: (min: import("three").Vector2, max: import("three").Vector2) => import("three").Vector2;
            clampScalar: (min: number, max: number) => import("three").Vector2;
            clampLength: (min: number, max: number) => import("three").Vector2;
            floor: () => import("three").Vector2;
            ceil: () => import("three").Vector2;
            round: () => import("three").Vector2;
            roundToZero: () => import("three").Vector2;
            negate: () => import("three").Vector2;
            dot: (v: import("three").Vector2) => number;
            cross: (v: import("three").Vector2) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            normalize: () => import("three").Vector2;
            angle: () => number;
            distanceTo: (v: import("three").Vector2) => number;
            distanceToSquared: (v: import("three").Vector2) => number;
            distanceToManhattan: (v: import("three").Vector2) => number;
            manhattanDistanceTo: (v: import("three").Vector2) => number;
            setLength: (length: number) => import("three").Vector2;
            lerp: (v: import("three").Vector2, alpha: number) => import("three").Vector2;
            lerpVectors: (v1: import("three").Vector2, v2: import("three").Vector2, alpha: number) => import("three").Vector2;
            equals: (v: import("three").Vector2) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector2;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector2Tuple | undefined, offset?: 0 | undefined): import("three").Vector2Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => import("three").Vector2;
            rotateAround: (center: import("three").Vector2, angle: number) => import("three").Vector2;
            random: () => import("three").Vector2;
        };
        center: {
            x: number;
            y: number;
            width: number;
            height: number;
            readonly isVector2: true;
            set: (x: number, y: number) => import("three").Vector2;
            setScalar: (scalar: number) => import("three").Vector2;
            setX: (x: number) => import("three").Vector2;
            setY: (y: number) => import("three").Vector2;
            setComponent: (index: number, value: number) => import("three").Vector2;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector2;
            copy: (v: import("three").Vector2) => import("three").Vector2;
            add: (v: import("three").Vector2, w?: import("three").Vector2 | undefined) => import("three").Vector2;
            addScalar: (s: number) => import("three").Vector2;
            addVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            addScaledVector: (v: import("three").Vector2, s: number) => import("three").Vector2;
            sub: (v: import("three").Vector2) => import("three").Vector2;
            subScalar: (s: number) => import("three").Vector2;
            subVectors: (a: import("three").Vector2, b: import("three").Vector2) => import("three").Vector2;
            multiply: (v: import("three").Vector2) => import("three").Vector2;
            multiplyScalar: (scalar: number) => import("three").Vector2;
            divide: (v: import("three").Vector2) => import("three").Vector2;
            divideScalar: (s: number) => import("three").Vector2;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector2;
            min: (v: import("three").Vector2) => import("three").Vector2;
            max: (v: import("three").Vector2) => import("three").Vector2;
            clamp: (min: import("three").Vector2, max: import("three").Vector2) => import("three").Vector2;
            clampScalar: (min: number, max: number) => import("three").Vector2;
            clampLength: (min: number, max: number) => import("three").Vector2;
            floor: () => import("three").Vector2;
            ceil: () => import("three").Vector2;
            round: () => import("three").Vector2;
            roundToZero: () => import("three").Vector2;
            negate: () => import("three").Vector2;
            dot: (v: import("three").Vector2) => number;
            cross: (v: import("three").Vector2) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            normalize: () => import("three").Vector2;
            angle: () => number;
            distanceTo: (v: import("three").Vector2) => number;
            distanceToSquared: (v: import("three").Vector2) => number;
            distanceToManhattan: (v: import("three").Vector2) => number;
            manhattanDistanceTo: (v: import("three").Vector2) => number;
            setLength: (length: number) => import("three").Vector2;
            lerp: (v: import("three").Vector2, alpha: number) => import("three").Vector2;
            lerpVectors: (v1: import("three").Vector2, v2: import("three").Vector2, alpha: number) => import("three").Vector2;
            equals: (v: import("three").Vector2) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector2;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector2Tuple | undefined, offset?: 0 | undefined): import("three").Vector2Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => import("three").Vector2;
            rotateAround: (center: import("three").Vector2, angle: number) => import("three").Vector2;
            random: () => import("three").Vector2;
        };
        rotation: number;
        generateMipmaps: boolean;
        premultiplyAlpha: boolean;
        flipY: boolean;
        unpackAlignment: number;
        encoding: import("three").TextureEncoding;
        isRenderTargetTexture: boolean;
        needsPMREMUpdate: boolean;
        userData: any;
        version: number;
        needsUpdate: boolean;
        readonly isTexture: true;
        onUpdate: () => void;
        clone: () => import("three").Texture;
        copy: (source: import("three").Texture) => import("three").Texture;
        toJSON: (meta: any) => any;
        dispose: () => void;
        transformUv: (uv: import("three").Vector2) => import("three").Vector2;
        updateMatrix: () => void;
        addEventListener: <T_3 extends string>(type: T_3, listener: import("three").EventListener<import("three").Event, T_3, import("three").Texture>) => void;
        hasEventListener: <T_4 extends string>(type: T_4, listener: import("three").EventListener<import("three").Event, T_4, import("three").Texture>) => boolean;
        removeEventListener: <T_5 extends string>(type: T_5, listener: import("three").EventListener<import("three").Event, T_5, import("three").Texture>) => void;
        dispatchEvent: (event: import("three").Event) => void;
    } | null;
    readonly isScene: true;
    toJSON: (meta?: any) => any;
    id: number;
    uuid: string;
    name: string;
    parent: {
        id: number;
        uuid: string;
        name: string;
        type: string;
        parent: any | null;
        children: any[];
        up: {
            x: number;
            y: number;
            z: number;
            readonly isVector3: true;
            set: (x: number, y: number, z: number) => import("three").Vector3;
            setScalar: (scalar: number) => import("three").Vector3;
            setX: (x: number) => import("three").Vector3;
            setY: (y: number) => import("three").Vector3;
            setZ: (z: number) => import("three").Vector3;
            setComponent: (index: number, value: number) => import("three").Vector3;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector3;
            copy: (v: import("three").Vector3) => import("three").Vector3;
            add: (v: import("three").Vector3) => import("three").Vector3;
            addScalar: (s: number) => import("three").Vector3;
            addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
            addVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            sub: (a: import("three").Vector3) => import("three").Vector3;
            subScalar: (s: number) => import("three").Vector3;
            subVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            multiply: (v: import("three").Vector3) => import("three").Vector3;
            multiplyScalar: (s: number) => import("three").Vector3;
            multiplyVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            applyEuler: (euler: import("three").Euler) => import("three").Vector3;
            applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
            applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
            applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
            applyQuaternion: (q: import("three").Quaternion) => import("three").Vector3;
            project: (camera: import("three").Camera) => import("three").Vector3;
            unproject: (camera: import("three").Camera) => import("three").Vector3;
            transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
            divide: (v: import("three").Vector3) => import("three").Vector3;
            divideScalar: (s: number) => import("three").Vector3;
            min: (v: import("three").Vector3) => import("three").Vector3;
            max: (v: import("three").Vector3) => import("three").Vector3;
            clamp: (min: import("three").Vector3, max: import("three").Vector3) => import("three").Vector3;
            clampScalar: (min: number, max: number) => import("three").Vector3;
            clampLength: (min: number, max: number) => import("three").Vector3;
            floor: () => import("three").Vector3;
            ceil: () => import("three").Vector3;
            round: () => import("three").Vector3;
            roundToZero: () => import("three").Vector3;
            negate: () => import("three").Vector3;
            dot: (v: import("three").Vector3) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            manhattanDistanceTo: (v: import("three").Vector3) => number;
            normalize: () => import("three").Vector3;
            setLength: (l: number) => import("three").Vector3;
            lerp: (v: import("three").Vector3, alpha: number) => import("three").Vector3;
            lerpVectors: (v1: import("three").Vector3, v2: import("three").Vector3, alpha: number) => import("three").Vector3;
            cross: (a: import("three").Vector3) => import("three").Vector3;
            crossVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
            projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
            reflect: (vector: import("three").Vector3) => import("three").Vector3;
            angleTo: (v: import("three").Vector3) => number;
            distanceTo: (v: import("three").Vector3) => number;
            distanceToSquared: (v: import("three").Vector3) => number;
            distanceToManhattan: (v: import("three").Vector3) => number;
            setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
            setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
            setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
            setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
            setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
            setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
            setFromEuler: (e: import("three").Euler) => import("three").Vector3;
            equals: (v: import("three").Vector3) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
            random: () => import("three").Vector3;
            randomDirection: () => import("three").Vector3;
        };
        readonly position: {
            x: number;
            y: number;
            z: number;
            readonly isVector3: true;
            set: (x: number, y: number, z: number) => import("three").Vector3;
            setScalar: (scalar: number) => import("three").Vector3;
            setX: (x: number) => import("three").Vector3;
            setY: (y: number) => import("three").Vector3;
            setZ: (z: number) => import("three").Vector3;
            setComponent: (index: number, value: number) => import("three").Vector3;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector3;
            copy: (v: import("three").Vector3) => import("three").Vector3;
            add: (v: import("three").Vector3) => import("three").Vector3;
            addScalar: (s: number) => import("three").Vector3;
            addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
            addVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            sub: (a: import("three").Vector3) => import("three").Vector3;
            subScalar: (s: number) => import("three").Vector3;
            subVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            multiply: (v: import("three").Vector3) => import("three").Vector3;
            multiplyScalar: (s: number) => import("three").Vector3;
            multiplyVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            applyEuler: (euler: import("three").Euler) => import("three").Vector3;
            applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
            applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
            applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
            applyQuaternion: (q: import("three").Quaternion) => import("three").Vector3;
            project: (camera: import("three").Camera) => import("three").Vector3;
            unproject: (camera: import("three").Camera) => import("three").Vector3;
            transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
            divide: (v: import("three").Vector3) => import("three").Vector3;
            divideScalar: (s: number) => import("three").Vector3;
            min: (v: import("three").Vector3) => import("three").Vector3;
            max: (v: import("three").Vector3) => import("three").Vector3;
            clamp: (min: import("three").Vector3, max: import("three").Vector3) => import("three").Vector3;
            clampScalar: (min: number, max: number) => import("three").Vector3;
            clampLength: (min: number, max: number) => import("three").Vector3;
            floor: () => import("three").Vector3;
            ceil: () => import("three").Vector3;
            round: () => import("three").Vector3;
            roundToZero: () => import("three").Vector3;
            negate: () => import("three").Vector3;
            dot: (v: import("three").Vector3) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            manhattanDistanceTo: (v: import("three").Vector3) => number;
            normalize: () => import("three").Vector3;
            setLength: (l: number) => import("three").Vector3;
            lerp: (v: import("three").Vector3, alpha: number) => import("three").Vector3;
            lerpVectors: (v1: import("three").Vector3, v2: import("three").Vector3, alpha: number) => import("three").Vector3;
            cross: (a: import("three").Vector3) => import("three").Vector3;
            crossVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
            projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
            reflect: (vector: import("three").Vector3) => import("three").Vector3;
            angleTo: (v: import("three").Vector3) => number;
            distanceTo: (v: import("three").Vector3) => number;
            distanceToSquared: (v: import("three").Vector3) => number;
            distanceToManhattan: (v: import("three").Vector3) => number;
            setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
            setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
            setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
            setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
            setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
            setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
            setFromEuler: (e: import("three").Euler) => import("three").Vector3;
            equals: (v: import("three").Vector3) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
            random: () => import("three").Vector3;
            randomDirection: () => import("three").Vector3;
        };
        readonly rotation: {
            x: number;
            y: number;
            z: number;
            order: import("three").EulerOrder;
            readonly isEuler: true;
            _onChangeCallback: () => void;
            set: (x: number, y: number, z: number, order?: import("three").EulerOrder | undefined) => import("three").Euler;
            clone: () => import("three").Euler;
            copy: (euler: import("three").Euler) => import("three").Euler;
            setFromRotationMatrix: (m: import("three").Matrix4, order?: import("three").EulerOrder | undefined, update?: boolean | undefined) => import("three").Euler;
            setFromQuaternion: (q: import("three").Quaternion, order?: import("three").EulerOrder | undefined, update?: boolean | undefined) => import("three").Euler;
            setFromVector3: (v: import("three").Vector3, order?: import("three").EulerOrder | undefined) => import("three").Euler;
            reorder: (newOrder: import("three").EulerOrder) => import("three").Euler;
            equals: (euler: import("three").Euler) => boolean;
            fromArray: (xyzo: [number, number, number, (import("three").EulerOrder | undefined)?, ...any[]]) => import("three").Euler;
            toArray: (array?: (string | number | undefined)[] | undefined, offset?: number | undefined) => (string | number | undefined)[];
            _onChange: (callback: () => void) => import("three").Euler;
            [Symbol.iterator]: () => Generator<string | number, void, unknown>;
        };
        readonly quaternion: {
            x: number;
            y: number;
            z: number;
            w: number;
            readonly isQuaternion: true;
            set: (x: number, y: number, z: number, w: number) => import("three").Quaternion;
            clone: () => import("three").Quaternion;
            copy: (q: import("three").Quaternion) => import("three").Quaternion;
            setFromEuler: (euler: import("three").Euler, update?: boolean | undefined) => import("three").Quaternion;
            setFromAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Quaternion;
            setFromRotationMatrix: (m: import("three").Matrix4) => import("three").Quaternion;
            setFromUnitVectors: (vFrom: import("three").Vector3, vTo: import("three").Vector3) => import("three").Quaternion;
            angleTo: (q: import("three").Quaternion) => number;
            rotateTowards: (q: import("three").Quaternion, step: number) => import("three").Quaternion;
            identity: () => import("three").Quaternion;
            invert: () => import("three").Quaternion;
            conjugate: () => import("three").Quaternion;
            dot: (v: import("three").Quaternion) => number;
            lengthSq: () => number;
            length: () => number;
            normalize: () => import("three").Quaternion;
            multiply: (q: import("three").Quaternion) => import("three").Quaternion;
            premultiply: (q: import("three").Quaternion) => import("three").Quaternion;
            multiplyQuaternions: (a: import("three").Quaternion, b: import("three").Quaternion) => import("three").Quaternion;
            slerp: (qb: import("three").Quaternion, t: number) => import("three").Quaternion;
            slerpQuaternions: (qa: import("three").Quaternion, qb: import("three").Quaternion, t: number) => import("three").Quaternion;
            equals: (v: import("three").Quaternion) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Quaternion;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Quaternion;
            _onChange: (callback: () => void) => import("three").Quaternion;
            _onChangeCallback: () => void;
            multiplyVector3: (v: any) => any;
            random: () => import("three").Quaternion;
            [Symbol.iterator]: () => Generator<number, void, unknown>;
        };
        readonly scale: {
            x: number;
            y: number;
            z: number;
            readonly isVector3: true;
            set: (x: number, y: number, z: number) => import("three").Vector3;
            setScalar: (scalar: number) => import("three").Vector3;
            setX: (x: number) => import("three").Vector3;
            setY: (y: number) => import("three").Vector3;
            setZ: (z: number) => import("three").Vector3;
            setComponent: (index: number, value: number) => import("three").Vector3;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector3;
            copy: (v: import("three").Vector3) => import("three").Vector3;
            add: (v: import("three").Vector3) => import("three").Vector3;
            addScalar: (s: number) => import("three").Vector3;
            addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
            addVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            sub: (a: import("three").Vector3) => import("three").Vector3;
            subScalar: (s: number) => import("three").Vector3;
            subVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            multiply: (v: import("three").Vector3) => import("three").Vector3;
            multiplyScalar: (s: number) => import("three").Vector3;
            multiplyVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            applyEuler: (euler: import("three").Euler) => import("three").Vector3;
            applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
            applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
            applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
            applyQuaternion: (q: import("three").Quaternion) => import("three").Vector3;
            project: (camera: import("three").Camera) => import("three").Vector3;
            unproject: (camera: import("three").Camera) => import("three").Vector3;
            transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
            divide: (v: import("three").Vector3) => import("three").Vector3;
            divideScalar: (s: number) => import("three").Vector3;
            min: (v: import("three").Vector3) => import("three").Vector3;
            max: (v: import("three").Vector3) => import("three").Vector3;
            clamp: (min: import("three").Vector3, max: import("three").Vector3) => import("three").Vector3;
            clampScalar: (min: number, max: number) => import("three").Vector3;
            clampLength: (min: number, max: number) => import("three").Vector3;
            floor: () => import("three").Vector3;
            ceil: () => import("three").Vector3;
            round: () => import("three").Vector3;
            roundToZero: () => import("three").Vector3;
            negate: () => import("three").Vector3;
            dot: (v: import("three").Vector3) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            manhattanDistanceTo: (v: import("three").Vector3) => number;
            normalize: () => import("three").Vector3;
            setLength: (l: number) => import("three").Vector3;
            lerp: (v: import("three").Vector3, alpha: number) => import("three").Vector3;
            lerpVectors: (v1: import("three").Vector3, v2: import("three").Vector3, alpha: number) => import("three").Vector3;
            cross: (a: import("three").Vector3) => import("three").Vector3;
            crossVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
            projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
            reflect: (vector: import("three").Vector3) => import("three").Vector3;
            angleTo: (v: import("three").Vector3) => number;
            distanceTo: (v: import("three").Vector3) => number;
            distanceToSquared: (v: import("three").Vector3) => number;
            distanceToManhattan: (v: import("three").Vector3) => number;
            setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
            setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
            setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
            setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
            setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
            setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
            setFromEuler: (e: import("three").Euler) => import("three").Vector3;
            equals: (v: import("three").Vector3) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
            random: () => import("three").Vector3;
            randomDirection: () => import("three").Vector3;
        };
        readonly modelViewMatrix: {
            elements: number[];
            set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
            identity: () => import("three").Matrix4;
            clone: () => import("three").Matrix4;
            copy: (m: import("three").Matrix4) => import("three").Matrix4;
            copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
            makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
            makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
            multiply: (m: import("three").Matrix4) => import("three").Matrix4;
            premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
            multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
            multiplyToArray: (a: import("three").Matrix4, b: import("three").Matrix4, r: number[]) => import("three").Matrix4;
            multiplyScalar: (s: number) => import("three").Matrix4;
            determinant: () => number;
            transpose: () => import("three").Matrix4;
            setPosition: (v: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => import("three").Matrix4;
            invert: () => import("three").Matrix4;
            scale: (v: import("three").Vector3) => import("three").Matrix4;
            getMaxScaleOnAxis: () => number;
            makeTranslation: (x: number, y: number, z: number) => import("three").Matrix4;
            makeRotationX: (theta: number) => import("three").Matrix4;
            makeRotationY: (theta: number) => import("three").Matrix4;
            makeRotationZ: (theta: number) => import("three").Matrix4;
            makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
            makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
            makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
            compose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            decompose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            makePerspective: {
                (left: number, right: number, bottom: number, top: number, near: number, far: number): import("three").Matrix4;
                (fov: number, aspect: number, near: number, far: number): import("three").Matrix4;
            };
            makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number) => import("three").Matrix4;
            equals: (matrix: import("three").Matrix4) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Matrix4Tuple | undefined, offset?: 0 | undefined): import("three").Matrix4Tuple;
                (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
            };
            setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
            extractPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            setRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            multiplyVector3: (v: any) => any;
            multiplyVector4: (v: any) => any;
            multiplyVector3Array: (array: number[]) => number[];
            rotateAxis: (v: any) => void;
            crossVector: (v: any) => void;
            flattenToArrayOffset: (array: number[], offset: number) => number[];
            getInverse: (matrix: import("three").Matrix) => import("three").Matrix;
        };
        readonly normalMatrix: {
            elements: number[];
            set: (n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number) => import("three").Matrix3;
            identity: () => import("three").Matrix3;
            clone: () => import("three").Matrix3;
            copy: (m: import("three").Matrix3) => import("three").Matrix3;
            extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix3;
            setFromMatrix4: (m: import("three").Matrix4) => import("three").Matrix3;
            multiplyScalar: (s: number) => import("three").Matrix3;
            determinant: () => number;
            invert: () => import("three").Matrix3;
            transpose: () => import("three").Matrix3;
            getNormalMatrix: (matrix4: import("three").Matrix4) => import("three").Matrix3;
            transposeIntoArray: (r: number[]) => import("three").Matrix3;
            setUvTransform: (tx: number, ty: number, sx: number, sy: number, rotation: number, cx: number, cy: number) => import("three").Matrix3;
            scale: (sx: number, sy: number) => import("three").Matrix3;
            makeTranslation: {
                (x: number, y: number): import("three").Matrix3;
                (x: number, y: number): import("three").Matrix3;
            };
            makeRotation: {
                (theta: number): import("three").Matrix3;
                (theta: number): import("three").Matrix3;
            };
            makeScale: {
                (x: number, y: number): import("three").Matrix3;
                (x: number, y: number): import("three").Matrix3;
            };
            rotate: (theta: number) => import("three").Matrix3;
            translate: (tx: number, ty: number) => import("three").Matrix3;
            equals: (matrix: import("three").Matrix3) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix3;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Matrix3Tuple | undefined, offset?: 0 | undefined): import("three").Matrix3Tuple;
                (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
            };
            multiply: (m: import("three").Matrix3) => import("three").Matrix3;
            premultiply: (m: import("three").Matrix3) => import("three").Matrix3;
            multiplyMatrices: (a: import("three").Matrix3, b: import("three").Matrix3) => import("three").Matrix3;
            multiplyVector3: (vector: import("three").Vector3) => any;
            multiplyVector3Array: (a: any) => any;
            getInverse: {
                (matrix: import("three").Matrix4, throwOnDegenerate?: boolean | undefined): import("three").Matrix3;
                (matrix: import("three").Matrix): import("three").Matrix;
            };
            flattenToArrayOffset: (array: number[], offset: number) => number[];
        };
        matrix: {
            elements: number[];
            set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
            identity: () => import("three").Matrix4;
            clone: () => import("three").Matrix4;
            copy: (m: import("three").Matrix4) => import("three").Matrix4;
            copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
            makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
            makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
            multiply: (m: import("three").Matrix4) => import("three").Matrix4;
            premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
            multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
            multiplyToArray: (a: import("three").Matrix4, b: import("three").Matrix4, r: number[]) => import("three").Matrix4;
            multiplyScalar: (s: number) => import("three").Matrix4;
            determinant: () => number;
            transpose: () => import("three").Matrix4;
            setPosition: (v: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => import("three").Matrix4;
            invert: () => import("three").Matrix4;
            scale: (v: import("three").Vector3) => import("three").Matrix4;
            getMaxScaleOnAxis: () => number;
            makeTranslation: (x: number, y: number, z: number) => import("three").Matrix4;
            makeRotationX: (theta: number) => import("three").Matrix4;
            makeRotationY: (theta: number) => import("three").Matrix4;
            makeRotationZ: (theta: number) => import("three").Matrix4;
            makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
            makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
            makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
            compose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            decompose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            makePerspective: {
                (left: number, right: number, bottom: number, top: number, near: number, far: number): import("three").Matrix4;
                (fov: number, aspect: number, near: number, far: number): import("three").Matrix4;
            };
            makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number) => import("three").Matrix4;
            equals: (matrix: import("three").Matrix4) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Matrix4Tuple | undefined, offset?: 0 | undefined): import("three").Matrix4Tuple;
                (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
            };
            setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
            extractPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            setRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            multiplyVector3: (v: any) => any;
            multiplyVector4: (v: any) => any;
            multiplyVector3Array: (array: number[]) => number[];
            rotateAxis: (v: any) => void;
            crossVector: (v: any) => void;
            flattenToArrayOffset: (array: number[], offset: number) => number[];
            getInverse: (matrix: import("three").Matrix) => import("three").Matrix;
        };
        matrixWorld: {
            elements: number[];
            set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
            identity: () => import("three").Matrix4;
            clone: () => import("three").Matrix4;
            copy: (m: import("three").Matrix4) => import("three").Matrix4;
            copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
            makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
            makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
            multiply: (m: import("three").Matrix4) => import("three").Matrix4;
            premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
            multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
            multiplyToArray: (a: import("three").Matrix4, b: import("three").Matrix4, r: number[]) => import("three").Matrix4;
            multiplyScalar: (s: number) => import("three").Matrix4;
            determinant: () => number;
            transpose: () => import("three").Matrix4;
            setPosition: (v: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => import("three").Matrix4;
            invert: () => import("three").Matrix4;
            scale: (v: import("three").Vector3) => import("three").Matrix4;
            getMaxScaleOnAxis: () => number;
            makeTranslation: (x: number, y: number, z: number) => import("three").Matrix4;
            makeRotationX: (theta: number) => import("three").Matrix4;
            makeRotationY: (theta: number) => import("three").Matrix4;
            makeRotationZ: (theta: number) => import("three").Matrix4;
            makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
            makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
            makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
            compose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            decompose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            makePerspective: {
                (left: number, right: number, bottom: number, top: number, near: number, far: number): import("three").Matrix4;
                (fov: number, aspect: number, near: number, far: number): import("three").Matrix4;
            };
            makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number) => import("three").Matrix4;
            equals: (matrix: import("three").Matrix4) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Matrix4Tuple | undefined, offset?: 0 | undefined): import("three").Matrix4Tuple;
                (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
            };
            setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
            extractPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            setRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            multiplyVector3: (v: any) => any;
            multiplyVector4: (v: any) => any;
            multiplyVector3Array: (array: number[]) => number[];
            rotateAxis: (v: any) => void;
            crossVector: (v: any) => void;
            flattenToArrayOffset: (array: number[], offset: number) => number[];
            getInverse: (matrix: import("three").Matrix) => import("three").Matrix;
        };
        matrixAutoUpdate: boolean;
        matrixWorldAutoUpdate: boolean;
        matrixWorldNeedsUpdate: boolean;
        layers: {
            mask: number;
            set: (channel: number) => void;
            enable: (channel: number) => void;
            enableAll: () => void;
            toggle: (channel: number) => void;
            disable: (channel: number) => void;
            disableAll: () => void;
            test: (layers: import("three").Layers) => boolean;
            isEnabled: (channel: number) => boolean;
        };
        visible: boolean;
        castShadow: boolean;
        receiveShadow: boolean;
        frustumCulled: boolean;
        renderOrder: number;
        animations: {
            name: string;
            tracks: {
                name: string;
                times: {
                    [x: number]: number;
                    readonly BYTES_PER_ELEMENT: number;
                    readonly buffer: {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                        readonly [Symbol.toStringTag]: string;
                    } | {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                        readonly [Symbol.species]: SharedArrayBuffer;
                        readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                    };
                    readonly byteLength: number;
                    readonly byteOffset: number;
                    copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                    every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                    filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                    find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                    findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                    forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                    indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    join: (separator?: string | undefined) => string;
                    lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    readonly length: number;
                    map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                    reduce: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                    };
                    reduceRight: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                    };
                    reverse: () => Float32Array;
                    set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                    slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                    some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                    subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                    toLocaleString: () => string;
                    toString: () => string;
                    valueOf: () => Float32Array;
                    entries: () => IterableIterator<[number, number]>;
                    keys: () => IterableIterator<number>;
                    values: () => IterableIterator<number>;
                    includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                    at: (index: number) => number | undefined;
                    findLast: {
                        <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                        (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                    };
                    findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                    [Symbol.iterator]: () => IterableIterator<number>;
                    readonly [Symbol.toStringTag]: "Float32Array";
                };
                values: {
                    [x: number]: number;
                    readonly BYTES_PER_ELEMENT: number;
                    readonly buffer: {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                        readonly [Symbol.toStringTag]: string;
                    } | {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                        readonly [Symbol.species]: SharedArrayBuffer;
                        readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                    };
                    readonly byteLength: number;
                    readonly byteOffset: number;
                    copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                    every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                    filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                    find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                    findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                    forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                    indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    join: (separator?: string | undefined) => string;
                    lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    readonly length: number;
                    map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                    reduce: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                    };
                    reduceRight: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                    };
                    reverse: () => Float32Array;
                    set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                    slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                    some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                    subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                    toLocaleString: () => string;
                    toString: () => string;
                    valueOf: () => Float32Array;
                    entries: () => IterableIterator<[number, number]>;
                    keys: () => IterableIterator<number>;
                    values: () => IterableIterator<number>;
                    includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                    at: (index: number) => number | undefined;
                    findLast: {
                        <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                        (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                    };
                    findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                    [Symbol.iterator]: () => IterableIterator<number>;
                    readonly [Symbol.toStringTag]: "Float32Array";
                };
                ValueTypeName: string;
                TimeBufferType: {
                    [x: number]: number;
                    readonly BYTES_PER_ELEMENT: number;
                    readonly buffer: {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                        readonly [Symbol.toStringTag]: string;
                    } | {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                        readonly [Symbol.species]: SharedArrayBuffer;
                        readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                    };
                    readonly byteLength: number;
                    readonly byteOffset: number;
                    copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                    every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                    filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                    find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                    findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                    forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                    indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    join: (separator?: string | undefined) => string;
                    lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    readonly length: number;
                    map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                    reduce: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                    };
                    reduceRight: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                    };
                    reverse: () => Float32Array;
                    set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                    slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                    some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                    subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                    toLocaleString: () => string;
                    toString: () => string;
                    valueOf: () => Float32Array;
                    entries: () => IterableIterator<[number, number]>;
                    keys: () => IterableIterator<number>;
                    values: () => IterableIterator<number>;
                    includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                    at: (index: number) => number | undefined;
                    findLast: {
                        <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                        (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                    };
                    findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                    [Symbol.iterator]: () => IterableIterator<number>;
                    readonly [Symbol.toStringTag]: "Float32Array";
                };
                ValueBufferType: {
                    [x: number]: number;
                    readonly BYTES_PER_ELEMENT: number;
                    readonly buffer: {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                        readonly [Symbol.toStringTag]: string;
                    } | {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                        readonly [Symbol.species]: SharedArrayBuffer;
                        readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                    };
                    readonly byteLength: number;
                    readonly byteOffset: number;
                    copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                    every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                    filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                    find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                    findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                    forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                    indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    join: (separator?: string | undefined) => string;
                    lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    readonly length: number;
                    map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                    reduce: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                    };
                    reduceRight: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                    };
                    reverse: () => Float32Array;
                    set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                    slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                    some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                    subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                    toLocaleString: () => string;
                    toString: () => string;
                    valueOf: () => Float32Array;
                    entries: () => IterableIterator<[number, number]>;
                    keys: () => IterableIterator<number>;
                    values: () => IterableIterator<number>;
                    includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                    at: (index: number) => number | undefined;
                    findLast: {
                        <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                        (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                    };
                    findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                    [Symbol.iterator]: () => IterableIterator<number>;
                    readonly [Symbol.toStringTag]: "Float32Array";
                };
                DefaultInterpolation: import("three").InterpolationModes;
                InterpolantFactoryMethodDiscrete: (result: any) => import("three").DiscreteInterpolant;
                InterpolantFactoryMethodLinear: (result: any) => import("three").LinearInterpolant;
                InterpolantFactoryMethodSmooth: (result: any) => import("three").CubicInterpolant;
                setInterpolation: (interpolation: import("three").InterpolationModes) => import("three").KeyframeTrack;
                getInterpolation: () => import("three").InterpolationModes;
                createInterpolant: () => import("three").Interpolant;
                getValueSize: () => number;
                shift: (timeOffset: number) => import("three").KeyframeTrack;
                scale: (timeScale: number) => import("three").KeyframeTrack;
                trim: (startTime: number, endTime: number) => import("three").KeyframeTrack;
                validate: () => boolean;
                optimize: () => import("three").KeyframeTrack;
                clone: () => import("three").KeyframeTrack;
            }[];
            blendMode: import("three").AnimationBlendMode;
            duration: number;
            uuid: string;
            results: any[];
            resetDuration: () => import("three").AnimationClip;
            trim: () => import("three").AnimationClip;
            validate: () => boolean;
            optimize: () => import("three").AnimationClip;
            clone: () => import("three").AnimationClip;
            toJSON: (clip: import("three").AnimationClip) => any;
        }[];
        userData: {
            [key: string]: any;
        };
        customDepthMaterial: {
            alphaTest: number;
            alphaToCoverage: boolean;
            blendDst: import("three").BlendingDstFactor;
            blendDstAlpha: number | null;
            blendEquation: import("three").BlendingEquation;
            blendEquationAlpha: number | null;
            blending: import("three").Blending;
            blendSrc: import("three").BlendingSrcFactor | import("three").BlendingDstFactor;
            blendSrcAlpha: number | null;
            clipIntersection: boolean;
            clippingPlanes: any;
            clipShadows: boolean;
            colorWrite: boolean;
            defines: {
                [key: string]: any;
            } | undefined;
            depthFunc: import("three").DepthModes;
            depthTest: boolean;
            depthWrite: boolean;
            id: number;
            stencilWrite: boolean;
            stencilFunc: import("three").StencilFunc;
            stencilRef: number;
            stencilWriteMask: number;
            stencilFuncMask: number;
            stencilFail: import("three").StencilOp;
            stencilZFail: import("three").StencilOp;
            stencilZPass: import("three").StencilOp;
            readonly isMaterial: true;
            name: string;
            needsUpdate: boolean;
            opacity: number;
            polygonOffset: boolean;
            polygonOffsetFactor: number;
            polygonOffsetUnits: number;
            precision: "highp" | "mediump" | "lowp" | null;
            premultipliedAlpha: boolean;
            forceSinglePass: boolean;
            dithering: boolean;
            side: import("three").Side;
            shadowSide: import("three").Side | null;
            toneMapped: boolean;
            transparent: boolean;
            type: string;
            uuid: string;
            vertexColors: boolean;
            visible: boolean;
            userData: any;
            version: number;
            clone: () => import("three").Material;
            copy: (material: import("three").Material) => import("three").Material;
            dispose: () => void;
            onBeforeCompile: (shader: import("three").Shader, renderer: import("three").WebGLRenderer) => void;
            customProgramCacheKey: () => string;
            setValues: (values: import("three").MaterialParameters) => void;
            toJSON: (meta?: any) => any;
            addEventListener: <T extends string>(type: T, listener: import("three").EventListener<import("three").Event, T, import("three").Material>) => void;
            hasEventListener: <T_1 extends string>(type: T_1, listener: import("three").EventListener<import("three").Event, T_1, import("three").Material>) => boolean;
            removeEventListener: <T_2 extends string>(type: T_2, listener: import("three").EventListener<import("three").Event, T_2, import("three").Material>) => void;
            dispatchEvent: (event: import("three").Event) => void;
        };
        customDistanceMaterial: {
            alphaTest: number;
            alphaToCoverage: boolean;
            blendDst: import("three").BlendingDstFactor;
            blendDstAlpha: number | null;
            blendEquation: import("three").BlendingEquation;
            blendEquationAlpha: number | null;
            blending: import("three").Blending;
            blendSrc: import("three").BlendingSrcFactor | import("three").BlendingDstFactor;
            blendSrcAlpha: number | null;
            clipIntersection: boolean;
            clippingPlanes: any;
            clipShadows: boolean;
            colorWrite: boolean;
            defines: {
                [key: string]: any;
            } | undefined;
            depthFunc: import("three").DepthModes;
            depthTest: boolean;
            depthWrite: boolean;
            id: number;
            stencilWrite: boolean;
            stencilFunc: import("three").StencilFunc;
            stencilRef: number;
            stencilWriteMask: number;
            stencilFuncMask: number;
            stencilFail: import("three").StencilOp;
            stencilZFail: import("three").StencilOp;
            stencilZPass: import("three").StencilOp;
            readonly isMaterial: true;
            name: string;
            needsUpdate: boolean;
            opacity: number;
            polygonOffset: boolean;
            polygonOffsetFactor: number;
            polygonOffsetUnits: number;
            precision: "highp" | "mediump" | "lowp" | null;
            premultipliedAlpha: boolean;
            forceSinglePass: boolean;
            dithering: boolean;
            side: import("three").Side;
            shadowSide: import("three").Side | null;
            toneMapped: boolean;
            transparent: boolean;
            type: string;
            uuid: string;
            vertexColors: boolean;
            visible: boolean;
            userData: any;
            version: number;
            clone: () => import("three").Material;
            copy: (material: import("three").Material) => import("three").Material;
            dispose: () => void;
            onBeforeCompile: (shader: import("three").Shader, renderer: import("three").WebGLRenderer) => void;
            customProgramCacheKey: () => string;
            setValues: (values: import("three").MaterialParameters) => void;
            toJSON: (meta?: any) => any;
            addEventListener: <T extends string>(type: T, listener: import("three").EventListener<import("three").Event, T, import("three").Material>) => void;
            hasEventListener: <T_1 extends string>(type: T_1, listener: import("three").EventListener<import("three").Event, T_1, import("three").Material>) => boolean;
            removeEventListener: <T_2 extends string>(type: T_2, listener: import("three").EventListener<import("three").Event, T_2, import("three").Material>) => void;
            dispatchEvent: (event: import("three").Event) => void;
        };
        readonly isObject3D: true;
        onBeforeRender: (renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, geometry: import("three").BufferGeometry, material: import("three").Material, group: import("three").Group) => void;
        onAfterRender: (renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, geometry: import("three").BufferGeometry, material: import("three").Material, group: import("three").Group) => void;
        applyMatrix4: (matrix: import("three").Matrix4) => void;
        applyQuaternion: (quaternion: import("three").Quaternion) => import("three").Object3D<import("three").Event>;
        setRotationFromAxisAngle: (axis: import("three").Vector3, angle: number) => void;
        setRotationFromEuler: (euler: import("three").Euler) => void;
        setRotationFromMatrix: (m: import("three").Matrix4) => void;
        setRotationFromQuaternion: (q: import("three").Quaternion) => void;
        rotateOnAxis: (axis: import("three").Vector3, angle: number) => import("three").Object3D<import("three").Event>;
        rotateOnWorldAxis: (axis: import("three").Vector3, angle: number) => import("three").Object3D<import("three").Event>;
        rotateX: (angle: number) => import("three").Object3D<import("three").Event>;
        rotateY: (angle: number) => import("three").Object3D<import("three").Event>;
        rotateZ: (angle: number) => import("three").Object3D<import("three").Event>;
        translateOnAxis: (axis: import("three").Vector3, distance: number) => import("three").Object3D<import("three").Event>;
        translateX: (distance: number) => import("three").Object3D<import("three").Event>;
        translateY: (distance: number) => import("three").Object3D<import("three").Event>;
        translateZ: (distance: number) => import("three").Object3D<import("three").Event>;
        localToWorld: (vector: import("three").Vector3) => import("three").Vector3;
        worldToLocal: (vector: import("three").Vector3) => import("three").Vector3;
        lookAt: {
            (vector: import("three").Vector3): void;
            (x: number, y: number, z: number): void;
        };
        add: (...object: import("three").Object3D<import("three").Event>[]) => import("three").Object3D<import("three").Event>;
        remove: (...object: import("three").Object3D<import("three").Event>[]) => import("three").Object3D<import("three").Event>;
        removeFromParent: () => import("three").Object3D<import("three").Event>;
        clear: () => import("three").Object3D<import("three").Event>;
        attach: (object: import("three").Object3D<import("three").Event>) => import("three").Object3D<import("three").Event>;
        getObjectById: (id: number) => import("three").Object3D<import("three").Event> | undefined;
        getObjectByName: (name: string) => import("three").Object3D<import("three").Event> | undefined;
        getObjectByProperty: (name: string, value: any) => import("three").Object3D<import("three").Event> | undefined;
        getObjectsByProperty: (name: string, value: any) => import("three").Object3D<import("three").Event>[];
        getWorldPosition: (target: import("three").Vector3) => import("three").Vector3;
        getWorldQuaternion: (target: import("three").Quaternion) => import("three").Quaternion;
        getWorldScale: (target: import("three").Vector3) => import("three").Vector3;
        getWorldDirection: (target: import("three").Vector3) => import("three").Vector3;
        raycast: (raycaster: import("three").Raycaster, intersects: import("three").Intersection<import("three").Object3D<import("three").Event>>[]) => void;
        traverse: (callback: (object: import("three").Object3D<import("three").Event>) => any) => void;
        traverseVisible: (callback: (object: import("three").Object3D<import("three").Event>) => any) => void;
        traverseAncestors: (callback: (object: import("three").Object3D<import("three").Event>) => any) => void;
        updateMatrix: () => void;
        updateMatrixWorld: (force?: boolean | undefined) => void;
        updateWorldMatrix: (updateParents: boolean, updateChildren: boolean) => void;
        toJSON: (meta?: {
            geometries: any;
            materials: any;
            textures: any;
            images: any;
        } | undefined) => any;
        clone: (recursive?: boolean | undefined) => import("three").Object3D<import("three").Event>;
        copy: (source: import("three").Object3D<import("three").Event>, recursive?: boolean | undefined) => import("three").Object3D<import("three").Event>;
        addEventListener: <T_6 extends string>(type: T_6, listener: import("three").EventListener<import("three").Event, T_6, import("three").Object3D<import("three").Event>>) => void;
        hasEventListener: <T_7 extends string>(type: T_7, listener: import("three").EventListener<import("three").Event, T_7, import("three").Object3D<import("three").Event>>) => boolean;
        removeEventListener: <T_8 extends string>(type: T_8, listener: import("three").EventListener<import("three").Event, T_8, import("three").Object3D<import("three").Event>>) => void;
        dispatchEvent: (event: import("three").Event) => void;
    } | null;
    children: {
        id: number;
        uuid: string;
        name: string;
        type: string;
        parent: any | null;
        children: any[];
        up: {
            x: number;
            y: number;
            z: number;
            readonly isVector3: true;
            set: (x: number, y: number, z: number) => import("three").Vector3;
            setScalar: (scalar: number) => import("three").Vector3;
            setX: (x: number) => import("three").Vector3;
            setY: (y: number) => import("three").Vector3;
            setZ: (z: number) => import("three").Vector3;
            setComponent: (index: number, value: number) => import("three").Vector3;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector3;
            copy: (v: import("three").Vector3) => import("three").Vector3;
            add: (v: import("three").Vector3) => import("three").Vector3;
            addScalar: (s: number) => import("three").Vector3;
            addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
            addVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            sub: (a: import("three").Vector3) => import("three").Vector3;
            subScalar: (s: number) => import("three").Vector3;
            subVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            multiply: (v: import("three").Vector3) => import("three").Vector3;
            multiplyScalar: (s: number) => import("three").Vector3;
            multiplyVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            applyEuler: (euler: import("three").Euler) => import("three").Vector3;
            applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
            applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
            applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
            applyQuaternion: (q: import("three").Quaternion) => import("three").Vector3;
            project: (camera: import("three").Camera) => import("three").Vector3;
            unproject: (camera: import("three").Camera) => import("three").Vector3;
            transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
            divide: (v: import("three").Vector3) => import("three").Vector3;
            divideScalar: (s: number) => import("three").Vector3;
            min: (v: import("three").Vector3) => import("three").Vector3;
            max: (v: import("three").Vector3) => import("three").Vector3;
            clamp: (min: import("three").Vector3, max: import("three").Vector3) => import("three").Vector3;
            clampScalar: (min: number, max: number) => import("three").Vector3;
            clampLength: (min: number, max: number) => import("three").Vector3;
            floor: () => import("three").Vector3;
            ceil: () => import("three").Vector3;
            round: () => import("three").Vector3;
            roundToZero: () => import("three").Vector3;
            negate: () => import("three").Vector3;
            dot: (v: import("three").Vector3) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            manhattanDistanceTo: (v: import("three").Vector3) => number;
            normalize: () => import("three").Vector3;
            setLength: (l: number) => import("three").Vector3;
            lerp: (v: import("three").Vector3, alpha: number) => import("three").Vector3;
            lerpVectors: (v1: import("three").Vector3, v2: import("three").Vector3, alpha: number) => import("three").Vector3;
            cross: (a: import("three").Vector3) => import("three").Vector3;
            crossVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
            projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
            reflect: (vector: import("three").Vector3) => import("three").Vector3;
            angleTo: (v: import("three").Vector3) => number;
            distanceTo: (v: import("three").Vector3) => number;
            distanceToSquared: (v: import("three").Vector3) => number;
            distanceToManhattan: (v: import("three").Vector3) => number;
            setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
            setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
            setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
            setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
            setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
            setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
            setFromEuler: (e: import("three").Euler) => import("three").Vector3;
            equals: (v: import("three").Vector3) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
            random: () => import("three").Vector3;
            randomDirection: () => import("three").Vector3;
        };
        readonly position: {
            x: number;
            y: number;
            z: number;
            readonly isVector3: true;
            set: (x: number, y: number, z: number) => import("three").Vector3;
            setScalar: (scalar: number) => import("three").Vector3;
            setX: (x: number) => import("three").Vector3;
            setY: (y: number) => import("three").Vector3;
            setZ: (z: number) => import("three").Vector3;
            setComponent: (index: number, value: number) => import("three").Vector3;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector3;
            copy: (v: import("three").Vector3) => import("three").Vector3;
            add: (v: import("three").Vector3) => import("three").Vector3;
            addScalar: (s: number) => import("three").Vector3;
            addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
            addVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            sub: (a: import("three").Vector3) => import("three").Vector3;
            subScalar: (s: number) => import("three").Vector3;
            subVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            multiply: (v: import("three").Vector3) => import("three").Vector3;
            multiplyScalar: (s: number) => import("three").Vector3;
            multiplyVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            applyEuler: (euler: import("three").Euler) => import("three").Vector3;
            applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
            applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
            applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
            applyQuaternion: (q: import("three").Quaternion) => import("three").Vector3;
            project: (camera: import("three").Camera) => import("three").Vector3;
            unproject: (camera: import("three").Camera) => import("three").Vector3;
            transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
            divide: (v: import("three").Vector3) => import("three").Vector3;
            divideScalar: (s: number) => import("three").Vector3;
            min: (v: import("three").Vector3) => import("three").Vector3;
            max: (v: import("three").Vector3) => import("three").Vector3;
            clamp: (min: import("three").Vector3, max: import("three").Vector3) => import("three").Vector3;
            clampScalar: (min: number, max: number) => import("three").Vector3;
            clampLength: (min: number, max: number) => import("three").Vector3;
            floor: () => import("three").Vector3;
            ceil: () => import("three").Vector3;
            round: () => import("three").Vector3;
            roundToZero: () => import("three").Vector3;
            negate: () => import("three").Vector3;
            dot: (v: import("three").Vector3) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            manhattanDistanceTo: (v: import("three").Vector3) => number;
            normalize: () => import("three").Vector3;
            setLength: (l: number) => import("three").Vector3;
            lerp: (v: import("three").Vector3, alpha: number) => import("three").Vector3;
            lerpVectors: (v1: import("three").Vector3, v2: import("three").Vector3, alpha: number) => import("three").Vector3;
            cross: (a: import("three").Vector3) => import("three").Vector3;
            crossVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
            projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
            reflect: (vector: import("three").Vector3) => import("three").Vector3;
            angleTo: (v: import("three").Vector3) => number;
            distanceTo: (v: import("three").Vector3) => number;
            distanceToSquared: (v: import("three").Vector3) => number;
            distanceToManhattan: (v: import("three").Vector3) => number;
            setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
            setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
            setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
            setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
            setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
            setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
            setFromEuler: (e: import("three").Euler) => import("three").Vector3;
            equals: (v: import("three").Vector3) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
            random: () => import("three").Vector3;
            randomDirection: () => import("three").Vector3;
        };
        readonly rotation: {
            x: number;
            y: number;
            z: number;
            order: import("three").EulerOrder;
            readonly isEuler: true;
            _onChangeCallback: () => void;
            set: (x: number, y: number, z: number, order?: import("three").EulerOrder | undefined) => import("three").Euler;
            clone: () => import("three").Euler;
            copy: (euler: import("three").Euler) => import("three").Euler;
            setFromRotationMatrix: (m: import("three").Matrix4, order?: import("three").EulerOrder | undefined, update?: boolean | undefined) => import("three").Euler;
            setFromQuaternion: (q: import("three").Quaternion, order?: import("three").EulerOrder | undefined, update?: boolean | undefined) => import("three").Euler;
            setFromVector3: (v: import("three").Vector3, order?: import("three").EulerOrder | undefined) => import("three").Euler;
            reorder: (newOrder: import("three").EulerOrder) => import("three").Euler;
            equals: (euler: import("three").Euler) => boolean;
            fromArray: (xyzo: [number, number, number, (import("three").EulerOrder | undefined)?, ...any[]]) => import("three").Euler;
            toArray: (array?: (string | number | undefined)[] | undefined, offset?: number | undefined) => (string | number | undefined)[];
            _onChange: (callback: () => void) => import("three").Euler;
            [Symbol.iterator]: () => Generator<string | number, void, unknown>;
        };
        readonly quaternion: {
            x: number;
            y: number;
            z: number;
            w: number;
            readonly isQuaternion: true;
            set: (x: number, y: number, z: number, w: number) => import("three").Quaternion;
            clone: () => import("three").Quaternion;
            copy: (q: import("three").Quaternion) => import("three").Quaternion;
            setFromEuler: (euler: import("three").Euler, update?: boolean | undefined) => import("three").Quaternion;
            setFromAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Quaternion;
            setFromRotationMatrix: (m: import("three").Matrix4) => import("three").Quaternion;
            setFromUnitVectors: (vFrom: import("three").Vector3, vTo: import("three").Vector3) => import("three").Quaternion;
            angleTo: (q: import("three").Quaternion) => number;
            rotateTowards: (q: import("three").Quaternion, step: number) => import("three").Quaternion;
            identity: () => import("three").Quaternion;
            invert: () => import("three").Quaternion;
            conjugate: () => import("three").Quaternion;
            dot: (v: import("three").Quaternion) => number;
            lengthSq: () => number;
            length: () => number;
            normalize: () => import("three").Quaternion;
            multiply: (q: import("three").Quaternion) => import("three").Quaternion;
            premultiply: (q: import("three").Quaternion) => import("three").Quaternion;
            multiplyQuaternions: (a: import("three").Quaternion, b: import("three").Quaternion) => import("three").Quaternion;
            slerp: (qb: import("three").Quaternion, t: number) => import("three").Quaternion;
            slerpQuaternions: (qa: import("three").Quaternion, qb: import("three").Quaternion, t: number) => import("three").Quaternion;
            equals: (v: import("three").Quaternion) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Quaternion;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Quaternion;
            _onChange: (callback: () => void) => import("three").Quaternion;
            _onChangeCallback: () => void;
            multiplyVector3: (v: any) => any;
            random: () => import("three").Quaternion;
            [Symbol.iterator]: () => Generator<number, void, unknown>;
        };
        readonly scale: {
            x: number;
            y: number;
            z: number;
            readonly isVector3: true;
            set: (x: number, y: number, z: number) => import("three").Vector3;
            setScalar: (scalar: number) => import("three").Vector3;
            setX: (x: number) => import("three").Vector3;
            setY: (y: number) => import("three").Vector3;
            setZ: (z: number) => import("three").Vector3;
            setComponent: (index: number, value: number) => import("three").Vector3;
            getComponent: (index: number) => number;
            clone: () => import("three").Vector3;
            copy: (v: import("three").Vector3) => import("three").Vector3;
            add: (v: import("three").Vector3) => import("three").Vector3;
            addScalar: (s: number) => import("three").Vector3;
            addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
            addVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            sub: (a: import("three").Vector3) => import("three").Vector3;
            subScalar: (s: number) => import("three").Vector3;
            subVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            multiply: (v: import("three").Vector3) => import("three").Vector3;
            multiplyScalar: (s: number) => import("three").Vector3;
            multiplyVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            applyEuler: (euler: import("three").Euler) => import("three").Vector3;
            applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
            applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
            applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
            applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
            applyQuaternion: (q: import("three").Quaternion) => import("three").Vector3;
            project: (camera: import("three").Camera) => import("three").Vector3;
            unproject: (camera: import("three").Camera) => import("three").Vector3;
            transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
            divide: (v: import("three").Vector3) => import("three").Vector3;
            divideScalar: (s: number) => import("three").Vector3;
            min: (v: import("three").Vector3) => import("three").Vector3;
            max: (v: import("three").Vector3) => import("three").Vector3;
            clamp: (min: import("three").Vector3, max: import("three").Vector3) => import("three").Vector3;
            clampScalar: (min: number, max: number) => import("three").Vector3;
            clampLength: (min: number, max: number) => import("three").Vector3;
            floor: () => import("three").Vector3;
            ceil: () => import("three").Vector3;
            round: () => import("three").Vector3;
            roundToZero: () => import("three").Vector3;
            negate: () => import("three").Vector3;
            dot: (v: import("three").Vector3) => number;
            lengthSq: () => number;
            length: () => number;
            lengthManhattan: () => number;
            manhattanLength: () => number;
            manhattanDistanceTo: (v: import("three").Vector3) => number;
            normalize: () => import("three").Vector3;
            setLength: (l: number) => import("three").Vector3;
            lerp: (v: import("three").Vector3, alpha: number) => import("three").Vector3;
            lerpVectors: (v1: import("three").Vector3, v2: import("three").Vector3, alpha: number) => import("three").Vector3;
            cross: (a: import("three").Vector3) => import("three").Vector3;
            crossVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
            projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
            projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
            reflect: (vector: import("three").Vector3) => import("three").Vector3;
            angleTo: (v: import("three").Vector3) => number;
            distanceTo: (v: import("three").Vector3) => number;
            distanceToSquared: (v: import("three").Vector3) => number;
            distanceToManhattan: (v: import("three").Vector3) => number;
            setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
            setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
            setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
            setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
            setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
            setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
            setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
            setFromEuler: (e: import("three").Euler) => import("three").Vector3;
            equals: (v: import("three").Vector3) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
                (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
            };
            fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
            random: () => import("three").Vector3;
            randomDirection: () => import("three").Vector3;
        };
        readonly modelViewMatrix: {
            elements: number[];
            set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
            identity: () => import("three").Matrix4;
            clone: () => import("three").Matrix4;
            copy: (m: import("three").Matrix4) => import("three").Matrix4;
            copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
            makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
            makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
            multiply: (m: import("three").Matrix4) => import("three").Matrix4;
            premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
            multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
            multiplyToArray: (a: import("three").Matrix4, b: import("three").Matrix4, r: number[]) => import("three").Matrix4;
            multiplyScalar: (s: number) => import("three").Matrix4;
            determinant: () => number;
            transpose: () => import("three").Matrix4;
            setPosition: (v: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => import("three").Matrix4;
            invert: () => import("three").Matrix4;
            scale: (v: import("three").Vector3) => import("three").Matrix4;
            getMaxScaleOnAxis: () => number;
            makeTranslation: (x: number, y: number, z: number) => import("three").Matrix4;
            makeRotationX: (theta: number) => import("three").Matrix4;
            makeRotationY: (theta: number) => import("three").Matrix4;
            makeRotationZ: (theta: number) => import("three").Matrix4;
            makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
            makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
            makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
            compose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            decompose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            makePerspective: {
                (left: number, right: number, bottom: number, top: number, near: number, far: number): import("three").Matrix4;
                (fov: number, aspect: number, near: number, far: number): import("three").Matrix4;
            };
            makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number) => import("three").Matrix4;
            equals: (matrix: import("three").Matrix4) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Matrix4Tuple | undefined, offset?: 0 | undefined): import("three").Matrix4Tuple;
                (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
            };
            setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
            extractPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            setRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            multiplyVector3: (v: any) => any;
            multiplyVector4: (v: any) => any;
            multiplyVector3Array: (array: number[]) => number[];
            rotateAxis: (v: any) => void;
            crossVector: (v: any) => void;
            flattenToArrayOffset: (array: number[], offset: number) => number[];
            getInverse: (matrix: import("three").Matrix) => import("three").Matrix;
        };
        readonly normalMatrix: {
            elements: number[];
            set: (n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number) => import("three").Matrix3;
            identity: () => import("three").Matrix3;
            clone: () => import("three").Matrix3;
            copy: (m: import("three").Matrix3) => import("three").Matrix3;
            extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix3;
            setFromMatrix4: (m: import("three").Matrix4) => import("three").Matrix3;
            multiplyScalar: (s: number) => import("three").Matrix3;
            determinant: () => number;
            invert: () => import("three").Matrix3;
            transpose: () => import("three").Matrix3;
            getNormalMatrix: (matrix4: import("three").Matrix4) => import("three").Matrix3;
            transposeIntoArray: (r: number[]) => import("three").Matrix3;
            setUvTransform: (tx: number, ty: number, sx: number, sy: number, rotation: number, cx: number, cy: number) => import("three").Matrix3;
            scale: (sx: number, sy: number) => import("three").Matrix3;
            makeTranslation: {
                (x: number, y: number): import("three").Matrix3;
                (x: number, y: number): import("three").Matrix3;
            };
            makeRotation: {
                (theta: number): import("three").Matrix3;
                (theta: number): import("three").Matrix3;
            };
            makeScale: {
                (x: number, y: number): import("three").Matrix3;
                (x: number, y: number): import("three").Matrix3;
            };
            rotate: (theta: number) => import("three").Matrix3;
            translate: (tx: number, ty: number) => import("three").Matrix3;
            equals: (matrix: import("three").Matrix3) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix3;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Matrix3Tuple | undefined, offset?: 0 | undefined): import("three").Matrix3Tuple;
                (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
            };
            multiply: (m: import("three").Matrix3) => import("three").Matrix3;
            premultiply: (m: import("three").Matrix3) => import("three").Matrix3;
            multiplyMatrices: (a: import("three").Matrix3, b: import("three").Matrix3) => import("three").Matrix3;
            multiplyVector3: (vector: import("three").Vector3) => any;
            multiplyVector3Array: (a: any) => any;
            getInverse: {
                (matrix: import("three").Matrix4, throwOnDegenerate?: boolean | undefined): import("three").Matrix3;
                (matrix: import("three").Matrix): import("three").Matrix;
            };
            flattenToArrayOffset: (array: number[], offset: number) => number[];
        };
        matrix: {
            elements: number[];
            set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
            identity: () => import("three").Matrix4;
            clone: () => import("three").Matrix4;
            copy: (m: import("three").Matrix4) => import("three").Matrix4;
            copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
            makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
            makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
            multiply: (m: import("three").Matrix4) => import("three").Matrix4;
            premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
            multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
            multiplyToArray: (a: import("three").Matrix4, b: import("three").Matrix4, r: number[]) => import("three").Matrix4;
            multiplyScalar: (s: number) => import("three").Matrix4;
            determinant: () => number;
            transpose: () => import("three").Matrix4;
            setPosition: (v: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => import("three").Matrix4;
            invert: () => import("three").Matrix4;
            scale: (v: import("three").Vector3) => import("three").Matrix4;
            getMaxScaleOnAxis: () => number;
            makeTranslation: (x: number, y: number, z: number) => import("three").Matrix4;
            makeRotationX: (theta: number) => import("three").Matrix4;
            makeRotationY: (theta: number) => import("three").Matrix4;
            makeRotationZ: (theta: number) => import("three").Matrix4;
            makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
            makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
            makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
            compose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            decompose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            makePerspective: {
                (left: number, right: number, bottom: number, top: number, near: number, far: number): import("three").Matrix4;
                (fov: number, aspect: number, near: number, far: number): import("three").Matrix4;
            };
            makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number) => import("three").Matrix4;
            equals: (matrix: import("three").Matrix4) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Matrix4Tuple | undefined, offset?: 0 | undefined): import("three").Matrix4Tuple;
                (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
            };
            setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
            extractPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            setRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            multiplyVector3: (v: any) => any;
            multiplyVector4: (v: any) => any;
            multiplyVector3Array: (array: number[]) => number[];
            rotateAxis: (v: any) => void;
            crossVector: (v: any) => void;
            flattenToArrayOffset: (array: number[], offset: number) => number[];
            getInverse: (matrix: import("three").Matrix) => import("three").Matrix;
        };
        matrixWorld: {
            elements: number[];
            set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
            identity: () => import("three").Matrix4;
            clone: () => import("three").Matrix4;
            copy: (m: import("three").Matrix4) => import("three").Matrix4;
            copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
            extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
            makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
            makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
            multiply: (m: import("three").Matrix4) => import("three").Matrix4;
            premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
            multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
            multiplyToArray: (a: import("three").Matrix4, b: import("three").Matrix4, r: number[]) => import("three").Matrix4;
            multiplyScalar: (s: number) => import("three").Matrix4;
            determinant: () => number;
            transpose: () => import("three").Matrix4;
            setPosition: (v: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => import("three").Matrix4;
            invert: () => import("three").Matrix4;
            scale: (v: import("three").Vector3) => import("three").Matrix4;
            getMaxScaleOnAxis: () => number;
            makeTranslation: (x: number, y: number, z: number) => import("three").Matrix4;
            makeRotationX: (theta: number) => import("three").Matrix4;
            makeRotationY: (theta: number) => import("three").Matrix4;
            makeRotationZ: (theta: number) => import("three").Matrix4;
            makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
            makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
            makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
            compose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            decompose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
            makePerspective: {
                (left: number, right: number, bottom: number, top: number, near: number, far: number): import("three").Matrix4;
                (fov: number, aspect: number, near: number, far: number): import("three").Matrix4;
            };
            makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number) => import("three").Matrix4;
            equals: (matrix: import("three").Matrix4) => boolean;
            fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
            toArray: {
                (array?: number[] | undefined, offset?: number | undefined): number[];
                (array?: import("three").Matrix4Tuple | undefined, offset?: 0 | undefined): import("three").Matrix4Tuple;
                (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
            };
            setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
            extractPosition: (m: import("three").Matrix4) => import("three").Matrix4;
            setRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
            multiplyVector3: (v: any) => any;
            multiplyVector4: (v: any) => any;
            multiplyVector3Array: (array: number[]) => number[];
            rotateAxis: (v: any) => void;
            crossVector: (v: any) => void;
            flattenToArrayOffset: (array: number[], offset: number) => number[];
            getInverse: (matrix: import("three").Matrix) => import("three").Matrix;
        };
        matrixAutoUpdate: boolean;
        matrixWorldAutoUpdate: boolean;
        matrixWorldNeedsUpdate: boolean;
        layers: {
            mask: number;
            set: (channel: number) => void;
            enable: (channel: number) => void;
            enableAll: () => void;
            toggle: (channel: number) => void;
            disable: (channel: number) => void;
            disableAll: () => void;
            test: (layers: import("three").Layers) => boolean;
            isEnabled: (channel: number) => boolean;
        };
        visible: boolean;
        castShadow: boolean;
        receiveShadow: boolean;
        frustumCulled: boolean;
        renderOrder: number;
        animations: {
            name: string;
            tracks: {
                name: string;
                times: {
                    [x: number]: number;
                    readonly BYTES_PER_ELEMENT: number;
                    readonly buffer: {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                        readonly [Symbol.toStringTag]: string;
                    } | {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                        readonly [Symbol.species]: SharedArrayBuffer;
                        readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                    };
                    readonly byteLength: number;
                    readonly byteOffset: number;
                    copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                    every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                    filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                    find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                    findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                    forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                    indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    join: (separator?: string | undefined) => string;
                    lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    readonly length: number;
                    map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                    reduce: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                    };
                    reduceRight: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                    };
                    reverse: () => Float32Array;
                    set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                    slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                    some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                    subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                    toLocaleString: () => string;
                    toString: () => string;
                    valueOf: () => Float32Array;
                    entries: () => IterableIterator<[number, number]>;
                    keys: () => IterableIterator<number>;
                    values: () => IterableIterator<number>;
                    includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                    at: (index: number) => number | undefined;
                    findLast: {
                        <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                        (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                    };
                    findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                    [Symbol.iterator]: () => IterableIterator<number>;
                    readonly [Symbol.toStringTag]: "Float32Array";
                };
                values: {
                    [x: number]: number;
                    readonly BYTES_PER_ELEMENT: number;
                    readonly buffer: {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                        readonly [Symbol.toStringTag]: string;
                    } | {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                        readonly [Symbol.species]: SharedArrayBuffer;
                        readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                    };
                    readonly byteLength: number;
                    readonly byteOffset: number;
                    copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                    every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                    filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                    find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                    findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                    forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                    indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    join: (separator?: string | undefined) => string;
                    lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    readonly length: number;
                    map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                    reduce: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                    };
                    reduceRight: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                    };
                    reverse: () => Float32Array;
                    set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                    slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                    some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                    subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                    toLocaleString: () => string;
                    toString: () => string;
                    valueOf: () => Float32Array;
                    entries: () => IterableIterator<[number, number]>;
                    keys: () => IterableIterator<number>;
                    values: () => IterableIterator<number>;
                    includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                    at: (index: number) => number | undefined;
                    findLast: {
                        <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                        (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                    };
                    findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                    [Symbol.iterator]: () => IterableIterator<number>;
                    readonly [Symbol.toStringTag]: "Float32Array";
                };
                ValueTypeName: string;
                TimeBufferType: {
                    [x: number]: number;
                    readonly BYTES_PER_ELEMENT: number;
                    readonly buffer: {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                        readonly [Symbol.toStringTag]: string;
                    } | {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                        readonly [Symbol.species]: SharedArrayBuffer;
                        readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                    };
                    readonly byteLength: number;
                    readonly byteOffset: number;
                    copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                    every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                    filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                    find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                    findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                    forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                    indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    join: (separator?: string | undefined) => string;
                    lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    readonly length: number;
                    map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                    reduce: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                    };
                    reduceRight: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                    };
                    reverse: () => Float32Array;
                    set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                    slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                    some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                    subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                    toLocaleString: () => string;
                    toString: () => string;
                    valueOf: () => Float32Array;
                    entries: () => IterableIterator<[number, number]>;
                    keys: () => IterableIterator<number>;
                    values: () => IterableIterator<number>;
                    includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                    at: (index: number) => number | undefined;
                    findLast: {
                        <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                        (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                    };
                    findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                    [Symbol.iterator]: () => IterableIterator<number>;
                    readonly [Symbol.toStringTag]: "Float32Array";
                };
                ValueBufferType: {
                    [x: number]: number;
                    readonly BYTES_PER_ELEMENT: number;
                    readonly buffer: {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                        readonly [Symbol.toStringTag]: string;
                    } | {
                        readonly byteLength: number;
                        slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                        readonly [Symbol.species]: SharedArrayBuffer;
                        readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                    };
                    readonly byteLength: number;
                    readonly byteOffset: number;
                    copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                    every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                    filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                    find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                    findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                    forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                    indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    join: (separator?: string | undefined) => string;
                    lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                    readonly length: number;
                    map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                    reduce: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                    };
                    reduceRight: {
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                        (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                        <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                    };
                    reverse: () => Float32Array;
                    set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                    slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                    some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                    sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                    subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                    toLocaleString: () => string;
                    toString: () => string;
                    valueOf: () => Float32Array;
                    entries: () => IterableIterator<[number, number]>;
                    keys: () => IterableIterator<number>;
                    values: () => IterableIterator<number>;
                    includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                    at: (index: number) => number | undefined;
                    findLast: {
                        <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                        (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                    };
                    findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                    [Symbol.iterator]: () => IterableIterator<number>;
                    readonly [Symbol.toStringTag]: "Float32Array";
                };
                DefaultInterpolation: import("three").InterpolationModes;
                InterpolantFactoryMethodDiscrete: (result: any) => import("three").DiscreteInterpolant;
                InterpolantFactoryMethodLinear: (result: any) => import("three").LinearInterpolant;
                InterpolantFactoryMethodSmooth: (result: any) => import("three").CubicInterpolant;
                setInterpolation: (interpolation: import("three").InterpolationModes) => import("three").KeyframeTrack;
                getInterpolation: () => import("three").InterpolationModes;
                createInterpolant: () => import("three").Interpolant;
                getValueSize: () => number;
                shift: (timeOffset: number) => import("three").KeyframeTrack;
                scale: (timeScale: number) => import("three").KeyframeTrack;
                trim: (startTime: number, endTime: number) => import("three").KeyframeTrack;
                validate: () => boolean;
                optimize: () => import("three").KeyframeTrack;
                clone: () => import("three").KeyframeTrack;
            }[];
            blendMode: import("three").AnimationBlendMode;
            duration: number;
            uuid: string;
            results: any[];
            resetDuration: () => import("three").AnimationClip;
            trim: () => import("three").AnimationClip;
            validate: () => boolean;
            optimize: () => import("three").AnimationClip;
            clone: () => import("three").AnimationClip;
            toJSON: (clip: import("three").AnimationClip) => any;
        }[];
        userData: {
            [key: string]: any;
        };
        customDepthMaterial: {
            alphaTest: number;
            alphaToCoverage: boolean;
            blendDst: import("three").BlendingDstFactor;
            blendDstAlpha: number | null;
            blendEquation: import("three").BlendingEquation;
            blendEquationAlpha: number | null;
            blending: import("three").Blending;
            blendSrc: import("three").BlendingSrcFactor | import("three").BlendingDstFactor;
            blendSrcAlpha: number | null;
            clipIntersection: boolean;
            clippingPlanes: any;
            clipShadows: boolean;
            colorWrite: boolean;
            defines: {
                [key: string]: any;
            } | undefined;
            depthFunc: import("three").DepthModes;
            depthTest: boolean;
            depthWrite: boolean;
            id: number;
            stencilWrite: boolean;
            stencilFunc: import("three").StencilFunc;
            stencilRef: number;
            stencilWriteMask: number;
            stencilFuncMask: number;
            stencilFail: import("three").StencilOp;
            stencilZFail: import("three").StencilOp;
            stencilZPass: import("three").StencilOp;
            readonly isMaterial: true;
            name: string;
            needsUpdate: boolean;
            opacity: number;
            polygonOffset: boolean;
            polygonOffsetFactor: number;
            polygonOffsetUnits: number;
            precision: "highp" | "mediump" | "lowp" | null;
            premultipliedAlpha: boolean;
            forceSinglePass: boolean;
            dithering: boolean;
            side: import("three").Side;
            shadowSide: import("three").Side | null;
            toneMapped: boolean;
            transparent: boolean;
            type: string;
            uuid: string;
            vertexColors: boolean;
            visible: boolean;
            userData: any;
            version: number;
            clone: () => import("three").Material;
            copy: (material: import("three").Material) => import("three").Material;
            dispose: () => void;
            onBeforeCompile: (shader: import("three").Shader, renderer: import("three").WebGLRenderer) => void;
            customProgramCacheKey: () => string;
            setValues: (values: import("three").MaterialParameters) => void;
            toJSON: (meta?: any) => any;
            addEventListener: <T extends string>(type: T, listener: import("three").EventListener<import("three").Event, T, import("three").Material>) => void;
            hasEventListener: <T_1 extends string>(type: T_1, listener: import("three").EventListener<import("three").Event, T_1, import("three").Material>) => boolean;
            removeEventListener: <T_2 extends string>(type: T_2, listener: import("three").EventListener<import("three").Event, T_2, import("three").Material>) => void;
            dispatchEvent: (event: import("three").Event) => void;
        };
        customDistanceMaterial: {
            alphaTest: number;
            alphaToCoverage: boolean;
            blendDst: import("three").BlendingDstFactor;
            blendDstAlpha: number | null;
            blendEquation: import("three").BlendingEquation;
            blendEquationAlpha: number | null;
            blending: import("three").Blending;
            blendSrc: import("three").BlendingSrcFactor | import("three").BlendingDstFactor;
            blendSrcAlpha: number | null;
            clipIntersection: boolean;
            clippingPlanes: any;
            clipShadows: boolean;
            colorWrite: boolean;
            defines: {
                [key: string]: any;
            } | undefined;
            depthFunc: import("three").DepthModes;
            depthTest: boolean;
            depthWrite: boolean;
            id: number;
            stencilWrite: boolean;
            stencilFunc: import("three").StencilFunc;
            stencilRef: number;
            stencilWriteMask: number;
            stencilFuncMask: number;
            stencilFail: import("three").StencilOp;
            stencilZFail: import("three").StencilOp;
            stencilZPass: import("three").StencilOp;
            readonly isMaterial: true;
            name: string;
            needsUpdate: boolean;
            opacity: number;
            polygonOffset: boolean;
            polygonOffsetFactor: number;
            polygonOffsetUnits: number;
            precision: "highp" | "mediump" | "lowp" | null;
            premultipliedAlpha: boolean;
            forceSinglePass: boolean;
            dithering: boolean;
            side: import("three").Side;
            shadowSide: import("three").Side | null;
            toneMapped: boolean;
            transparent: boolean;
            type: string;
            uuid: string;
            vertexColors: boolean;
            visible: boolean;
            userData: any;
            version: number;
            clone: () => import("three").Material;
            copy: (material: import("three").Material) => import("three").Material;
            dispose: () => void;
            onBeforeCompile: (shader: import("three").Shader, renderer: import("three").WebGLRenderer) => void;
            customProgramCacheKey: () => string;
            setValues: (values: import("three").MaterialParameters) => void;
            toJSON: (meta?: any) => any;
            addEventListener: <T extends string>(type: T, listener: import("three").EventListener<import("three").Event, T, import("three").Material>) => void;
            hasEventListener: <T_1 extends string>(type: T_1, listener: import("three").EventListener<import("three").Event, T_1, import("three").Material>) => boolean;
            removeEventListener: <T_2 extends string>(type: T_2, listener: import("three").EventListener<import("three").Event, T_2, import("three").Material>) => void;
            dispatchEvent: (event: import("three").Event) => void;
        };
        readonly isObject3D: true;
        onBeforeRender: (renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, geometry: import("three").BufferGeometry, material: import("three").Material, group: import("three").Group) => void;
        onAfterRender: (renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, geometry: import("three").BufferGeometry, material: import("three").Material, group: import("three").Group) => void;
        applyMatrix4: (matrix: import("three").Matrix4) => void;
        applyQuaternion: (quaternion: import("three").Quaternion) => import("three").Object3D<import("three").Event>;
        setRotationFromAxisAngle: (axis: import("three").Vector3, angle: number) => void;
        setRotationFromEuler: (euler: import("three").Euler) => void;
        setRotationFromMatrix: (m: import("three").Matrix4) => void;
        setRotationFromQuaternion: (q: import("three").Quaternion) => void;
        rotateOnAxis: (axis: import("three").Vector3, angle: number) => import("three").Object3D<import("three").Event>;
        rotateOnWorldAxis: (axis: import("three").Vector3, angle: number) => import("three").Object3D<import("three").Event>;
        rotateX: (angle: number) => import("three").Object3D<import("three").Event>;
        rotateY: (angle: number) => import("three").Object3D<import("three").Event>;
        rotateZ: (angle: number) => import("three").Object3D<import("three").Event>;
        translateOnAxis: (axis: import("three").Vector3, distance: number) => import("three").Object3D<import("three").Event>;
        translateX: (distance: number) => import("three").Object3D<import("three").Event>;
        translateY: (distance: number) => import("three").Object3D<import("three").Event>;
        translateZ: (distance: number) => import("three").Object3D<import("three").Event>;
        localToWorld: (vector: import("three").Vector3) => import("three").Vector3;
        worldToLocal: (vector: import("three").Vector3) => import("three").Vector3;
        lookAt: {
            (vector: import("three").Vector3): void;
            (x: number, y: number, z: number): void;
        };
        add: (...object: import("three").Object3D<import("three").Event>[]) => import("three").Object3D<import("three").Event>;
        remove: (...object: import("three").Object3D<import("three").Event>[]) => import("three").Object3D<import("three").Event>;
        removeFromParent: () => import("three").Object3D<import("three").Event>;
        clear: () => import("three").Object3D<import("three").Event>;
        attach: (object: import("three").Object3D<import("three").Event>) => import("three").Object3D<import("three").Event>;
        getObjectById: (id: number) => import("three").Object3D<import("three").Event> | undefined;
        getObjectByName: (name: string) => import("three").Object3D<import("three").Event> | undefined;
        getObjectByProperty: (name: string, value: any) => import("three").Object3D<import("three").Event> | undefined;
        getObjectsByProperty: (name: string, value: any) => import("three").Object3D<import("three").Event>[];
        getWorldPosition: (target: import("three").Vector3) => import("three").Vector3;
        getWorldQuaternion: (target: import("three").Quaternion) => import("three").Quaternion;
        getWorldScale: (target: import("three").Vector3) => import("three").Vector3;
        getWorldDirection: (target: import("three").Vector3) => import("three").Vector3;
        raycast: (raycaster: import("three").Raycaster, intersects: import("three").Intersection<import("three").Object3D<import("three").Event>>[]) => void;
        traverse: (callback: (object: import("three").Object3D<import("three").Event>) => any) => void;
        traverseVisible: (callback: (object: import("three").Object3D<import("three").Event>) => any) => void;
        traverseAncestors: (callback: (object: import("three").Object3D<import("three").Event>) => any) => void;
        updateMatrix: () => void;
        updateMatrixWorld: (force?: boolean | undefined) => void;
        updateWorldMatrix: (updateParents: boolean, updateChildren: boolean) => void;
        toJSON: (meta?: {
            geometries: any;
            materials: any;
            textures: any;
            images: any;
        } | undefined) => any;
        clone: (recursive?: boolean | undefined) => import("three").Object3D<import("three").Event>;
        copy: (source: import("three").Object3D<import("three").Event>, recursive?: boolean | undefined) => import("three").Object3D<import("three").Event>;
        addEventListener: <T_6 extends string>(type: T_6, listener: import("three").EventListener<import("three").Event, T_6, import("three").Object3D<import("three").Event>>) => void;
        hasEventListener: <T_7 extends string>(type: T_7, listener: import("three").EventListener<import("three").Event, T_7, import("three").Object3D<import("three").Event>>) => boolean;
        removeEventListener: <T_8 extends string>(type: T_8, listener: import("three").EventListener<import("three").Event, T_8, import("three").Object3D<import("three").Event>>) => void;
        dispatchEvent: (event: import("three").Event) => void;
    }[];
    up: {
        x: number;
        y: number;
        z: number;
        readonly isVector3: true;
        set: (x: number, y: number, z: number) => import("three").Vector3;
        setScalar: (scalar: number) => import("three").Vector3;
        setX: (x: number) => import("three").Vector3;
        setY: (y: number) => import("three").Vector3;
        setZ: (z: number) => import("three").Vector3;
        setComponent: (index: number, value: number) => import("three").Vector3;
        getComponent: (index: number) => number;
        clone: () => import("three").Vector3;
        copy: (v: import("three").Vector3) => import("three").Vector3;
        add: (v: import("three").Vector3) => import("three").Vector3;
        addScalar: (s: number) => import("three").Vector3;
        addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
        addVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        sub: (a: import("three").Vector3) => import("three").Vector3;
        subScalar: (s: number) => import("three").Vector3;
        subVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        multiply: (v: import("three").Vector3) => import("three").Vector3;
        multiplyScalar: (s: number) => import("three").Vector3;
        multiplyVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        applyEuler: (euler: import("three").Euler) => import("three").Vector3;
        applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
        applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
        applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
        applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
        applyQuaternion: (q: import("three").Quaternion) => import("three").Vector3;
        project: (camera: import("three").Camera) => import("three").Vector3;
        unproject: (camera: import("three").Camera) => import("three").Vector3;
        transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
        divide: (v: import("three").Vector3) => import("three").Vector3;
        divideScalar: (s: number) => import("three").Vector3;
        min: (v: import("three").Vector3) => import("three").Vector3;
        max: (v: import("three").Vector3) => import("three").Vector3;
        clamp: (min: import("three").Vector3, max: import("three").Vector3) => import("three").Vector3;
        clampScalar: (min: number, max: number) => import("three").Vector3;
        clampLength: (min: number, max: number) => import("three").Vector3;
        floor: () => import("three").Vector3;
        ceil: () => import("three").Vector3;
        round: () => import("three").Vector3;
        roundToZero: () => import("three").Vector3;
        negate: () => import("three").Vector3;
        dot: (v: import("three").Vector3) => number;
        lengthSq: () => number;
        length: () => number;
        lengthManhattan: () => number;
        manhattanLength: () => number;
        manhattanDistanceTo: (v: import("three").Vector3) => number;
        normalize: () => import("three").Vector3;
        setLength: (l: number) => import("three").Vector3;
        lerp: (v: import("three").Vector3, alpha: number) => import("three").Vector3;
        lerpVectors: (v1: import("three").Vector3, v2: import("three").Vector3, alpha: number) => import("three").Vector3;
        cross: (a: import("three").Vector3) => import("three").Vector3;
        crossVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
        projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
        reflect: (vector: import("three").Vector3) => import("three").Vector3;
        angleTo: (v: import("three").Vector3) => number;
        distanceTo: (v: import("three").Vector3) => number;
        distanceToSquared: (v: import("three").Vector3) => number;
        distanceToManhattan: (v: import("three").Vector3) => number;
        setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
        setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
        setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
        setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
        setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
        setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
        setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
        setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
        setFromEuler: (e: import("three").Euler) => import("three").Vector3;
        equals: (v: import("three").Vector3) => boolean;
        fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
        toArray: {
            (array?: number[] | undefined, offset?: number | undefined): number[];
            (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
            (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
        };
        fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
        random: () => import("three").Vector3;
        randomDirection: () => import("three").Vector3;
    };
    readonly position: {
        x: number;
        y: number;
        z: number;
        readonly isVector3: true;
        set: (x: number, y: number, z: number) => import("three").Vector3;
        setScalar: (scalar: number) => import("three").Vector3;
        setX: (x: number) => import("three").Vector3;
        setY: (y: number) => import("three").Vector3;
        setZ: (z: number) => import("three").Vector3;
        setComponent: (index: number, value: number) => import("three").Vector3;
        getComponent: (index: number) => number;
        clone: () => import("three").Vector3;
        copy: (v: import("three").Vector3) => import("three").Vector3;
        add: (v: import("three").Vector3) => import("three").Vector3;
        addScalar: (s: number) => import("three").Vector3;
        addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
        addVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        sub: (a: import("three").Vector3) => import("three").Vector3;
        subScalar: (s: number) => import("three").Vector3;
        subVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        multiply: (v: import("three").Vector3) => import("three").Vector3;
        multiplyScalar: (s: number) => import("three").Vector3;
        multiplyVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        applyEuler: (euler: import("three").Euler) => import("three").Vector3;
        applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
        applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
        applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
        applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
        applyQuaternion: (q: import("three").Quaternion) => import("three").Vector3;
        project: (camera: import("three").Camera) => import("three").Vector3;
        unproject: (camera: import("three").Camera) => import("three").Vector3;
        transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
        divide: (v: import("three").Vector3) => import("three").Vector3;
        divideScalar: (s: number) => import("three").Vector3;
        min: (v: import("three").Vector3) => import("three").Vector3;
        max: (v: import("three").Vector3) => import("three").Vector3;
        clamp: (min: import("three").Vector3, max: import("three").Vector3) => import("three").Vector3;
        clampScalar: (min: number, max: number) => import("three").Vector3;
        clampLength: (min: number, max: number) => import("three").Vector3;
        floor: () => import("three").Vector3;
        ceil: () => import("three").Vector3;
        round: () => import("three").Vector3;
        roundToZero: () => import("three").Vector3;
        negate: () => import("three").Vector3;
        dot: (v: import("three").Vector3) => number;
        lengthSq: () => number;
        length: () => number;
        lengthManhattan: () => number;
        manhattanLength: () => number;
        manhattanDistanceTo: (v: import("three").Vector3) => number;
        normalize: () => import("three").Vector3;
        setLength: (l: number) => import("three").Vector3;
        lerp: (v: import("three").Vector3, alpha: number) => import("three").Vector3;
        lerpVectors: (v1: import("three").Vector3, v2: import("three").Vector3, alpha: number) => import("three").Vector3;
        cross: (a: import("three").Vector3) => import("three").Vector3;
        crossVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
        projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
        reflect: (vector: import("three").Vector3) => import("three").Vector3;
        angleTo: (v: import("three").Vector3) => number;
        distanceTo: (v: import("three").Vector3) => number;
        distanceToSquared: (v: import("three").Vector3) => number;
        distanceToManhattan: (v: import("three").Vector3) => number;
        setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
        setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
        setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
        setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
        setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
        setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
        setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
        setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
        setFromEuler: (e: import("three").Euler) => import("three").Vector3;
        equals: (v: import("three").Vector3) => boolean;
        fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
        toArray: {
            (array?: number[] | undefined, offset?: number | undefined): number[];
            (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
            (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
        };
        fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
        random: () => import("three").Vector3;
        randomDirection: () => import("three").Vector3;
    };
    readonly rotation: {
        x: number;
        y: number;
        z: number;
        order: import("three").EulerOrder;
        readonly isEuler: true;
        _onChangeCallback: () => void;
        set: (x: number, y: number, z: number, order?: import("three").EulerOrder | undefined) => import("three").Euler;
        clone: () => import("three").Euler;
        copy: (euler: import("three").Euler) => import("three").Euler;
        setFromRotationMatrix: (m: import("three").Matrix4, order?: import("three").EulerOrder | undefined, update?: boolean | undefined) => import("three").Euler;
        setFromQuaternion: (q: import("three").Quaternion, order?: import("three").EulerOrder | undefined, update?: boolean | undefined) => import("three").Euler;
        setFromVector3: (v: import("three").Vector3, order?: import("three").EulerOrder | undefined) => import("three").Euler;
        reorder: (newOrder: import("three").EulerOrder) => import("three").Euler;
        equals: (euler: import("three").Euler) => boolean;
        fromArray: (xyzo: [number, number, number, (import("three").EulerOrder | undefined)?, ...any[]]) => import("three").Euler;
        toArray: (array?: (string | number | undefined)[] | undefined, offset?: number | undefined) => (string | number | undefined)[];
        _onChange: (callback: () => void) => import("three").Euler;
        [Symbol.iterator]: () => Generator<string | number, void, unknown>;
    };
    readonly quaternion: {
        x: number;
        y: number;
        z: number;
        w: number;
        readonly isQuaternion: true;
        set: (x: number, y: number, z: number, w: number) => import("three").Quaternion;
        clone: () => import("three").Quaternion;
        copy: (q: import("three").Quaternion) => import("three").Quaternion;
        setFromEuler: (euler: import("three").Euler, update?: boolean | undefined) => import("three").Quaternion;
        setFromAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Quaternion;
        setFromRotationMatrix: (m: import("three").Matrix4) => import("three").Quaternion;
        setFromUnitVectors: (vFrom: import("three").Vector3, vTo: import("three").Vector3) => import("three").Quaternion;
        angleTo: (q: import("three").Quaternion) => number;
        rotateTowards: (q: import("three").Quaternion, step: number) => import("three").Quaternion;
        identity: () => import("three").Quaternion;
        invert: () => import("three").Quaternion;
        conjugate: () => import("three").Quaternion;
        dot: (v: import("three").Quaternion) => number;
        lengthSq: () => number;
        length: () => number;
        normalize: () => import("three").Quaternion;
        multiply: (q: import("three").Quaternion) => import("three").Quaternion;
        premultiply: (q: import("three").Quaternion) => import("three").Quaternion;
        multiplyQuaternions: (a: import("three").Quaternion, b: import("three").Quaternion) => import("three").Quaternion;
        slerp: (qb: import("three").Quaternion, t: number) => import("three").Quaternion;
        slerpQuaternions: (qa: import("three").Quaternion, qb: import("three").Quaternion, t: number) => import("three").Quaternion;
        equals: (v: import("three").Quaternion) => boolean;
        fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Quaternion;
        toArray: {
            (array?: number[] | undefined, offset?: number | undefined): number[];
            (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
        };
        fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Quaternion;
        _onChange: (callback: () => void) => import("three").Quaternion;
        _onChangeCallback: () => void;
        multiplyVector3: (v: any) => any;
        random: () => import("three").Quaternion;
        [Symbol.iterator]: () => Generator<number, void, unknown>;
    };
    readonly scale: {
        x: number;
        y: number;
        z: number;
        readonly isVector3: true;
        set: (x: number, y: number, z: number) => import("three").Vector3;
        setScalar: (scalar: number) => import("three").Vector3;
        setX: (x: number) => import("three").Vector3;
        setY: (y: number) => import("three").Vector3;
        setZ: (z: number) => import("three").Vector3;
        setComponent: (index: number, value: number) => import("three").Vector3;
        getComponent: (index: number) => number;
        clone: () => import("three").Vector3;
        copy: (v: import("three").Vector3) => import("three").Vector3;
        add: (v: import("three").Vector3) => import("three").Vector3;
        addScalar: (s: number) => import("three").Vector3;
        addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3;
        addVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        sub: (a: import("three").Vector3) => import("three").Vector3;
        subScalar: (s: number) => import("three").Vector3;
        subVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        multiply: (v: import("three").Vector3) => import("three").Vector3;
        multiplyScalar: (s: number) => import("three").Vector3;
        multiplyVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        applyEuler: (euler: import("three").Euler) => import("three").Vector3;
        applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3;
        applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3;
        applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3;
        applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3;
        applyQuaternion: (q: import("three").Quaternion) => import("three").Vector3;
        project: (camera: import("three").Camera) => import("three").Vector3;
        unproject: (camera: import("three").Camera) => import("three").Vector3;
        transformDirection: (m: import("three").Matrix4) => import("three").Vector3;
        divide: (v: import("three").Vector3) => import("three").Vector3;
        divideScalar: (s: number) => import("three").Vector3;
        min: (v: import("three").Vector3) => import("three").Vector3;
        max: (v: import("three").Vector3) => import("three").Vector3;
        clamp: (min: import("three").Vector3, max: import("three").Vector3) => import("three").Vector3;
        clampScalar: (min: number, max: number) => import("three").Vector3;
        clampLength: (min: number, max: number) => import("three").Vector3;
        floor: () => import("three").Vector3;
        ceil: () => import("three").Vector3;
        round: () => import("three").Vector3;
        roundToZero: () => import("three").Vector3;
        negate: () => import("three").Vector3;
        dot: (v: import("three").Vector3) => number;
        lengthSq: () => number;
        length: () => number;
        lengthManhattan: () => number;
        manhattanLength: () => number;
        manhattanDistanceTo: (v: import("three").Vector3) => number;
        normalize: () => import("three").Vector3;
        setLength: (l: number) => import("three").Vector3;
        lerp: (v: import("three").Vector3, alpha: number) => import("three").Vector3;
        lerpVectors: (v1: import("three").Vector3, v2: import("three").Vector3, alpha: number) => import("three").Vector3;
        cross: (a: import("three").Vector3) => import("three").Vector3;
        crossVectors: (a: import("three").Vector3, b: import("three").Vector3) => import("three").Vector3;
        projectOnVector: (v: import("three").Vector3) => import("three").Vector3;
        projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3;
        reflect: (vector: import("three").Vector3) => import("three").Vector3;
        angleTo: (v: import("three").Vector3) => number;
        distanceTo: (v: import("three").Vector3) => number;
        distanceToSquared: (v: import("three").Vector3) => number;
        distanceToManhattan: (v: import("three").Vector3) => number;
        setFromSpherical: (s: import("three").Spherical) => import("three").Vector3;
        setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3;
        setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3;
        setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3;
        setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3;
        setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3;
        setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3;
        setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3;
        setFromEuler: (e: import("three").Euler) => import("three").Vector3;
        equals: (v: import("three").Vector3) => boolean;
        fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3;
        toArray: {
            (array?: number[] | undefined, offset?: number | undefined): number[];
            (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple;
            (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>;
        };
        fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3;
        random: () => import("three").Vector3;
        randomDirection: () => import("three").Vector3;
    };
    readonly modelViewMatrix: {
        elements: number[];
        set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
        identity: () => import("three").Matrix4;
        clone: () => import("three").Matrix4;
        copy: (m: import("three").Matrix4) => import("three").Matrix4;
        copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
        extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
        makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
        extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
        makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
        makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
        lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
        multiply: (m: import("three").Matrix4) => import("three").Matrix4;
        premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
        multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
        multiplyToArray: (a: import("three").Matrix4, b: import("three").Matrix4, r: number[]) => import("three").Matrix4;
        multiplyScalar: (s: number) => import("three").Matrix4;
        determinant: () => number;
        transpose: () => import("three").Matrix4;
        setPosition: (v: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => import("three").Matrix4;
        invert: () => import("three").Matrix4;
        scale: (v: import("three").Vector3) => import("three").Matrix4;
        getMaxScaleOnAxis: () => number;
        makeTranslation: (x: number, y: number, z: number) => import("three").Matrix4;
        makeRotationX: (theta: number) => import("three").Matrix4;
        makeRotationY: (theta: number) => import("three").Matrix4;
        makeRotationZ: (theta: number) => import("three").Matrix4;
        makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
        makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
        makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
        compose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
        decompose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
        makePerspective: {
            (left: number, right: number, bottom: number, top: number, near: number, far: number): import("three").Matrix4;
            (fov: number, aspect: number, near: number, far: number): import("three").Matrix4;
        };
        makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number) => import("three").Matrix4;
        equals: (matrix: import("three").Matrix4) => boolean;
        fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
        toArray: {
            (array?: number[] | undefined, offset?: number | undefined): number[];
            (array?: import("three").Matrix4Tuple | undefined, offset?: 0 | undefined): import("three").Matrix4Tuple;
            (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
        };
        setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
        extractPosition: (m: import("three").Matrix4) => import("three").Matrix4;
        setRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
        multiplyVector3: (v: any) => any;
        multiplyVector4: (v: any) => any;
        multiplyVector3Array: (array: number[]) => number[];
        rotateAxis: (v: any) => void;
        crossVector: (v: any) => void;
        flattenToArrayOffset: (array: number[], offset: number) => number[];
        getInverse: (matrix: import("three").Matrix) => import("three").Matrix;
    };
    readonly normalMatrix: {
        elements: number[];
        set: (n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number) => import("three").Matrix3;
        identity: () => import("three").Matrix3;
        clone: () => import("three").Matrix3;
        copy: (m: import("three").Matrix3) => import("three").Matrix3;
        extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix3;
        setFromMatrix4: (m: import("three").Matrix4) => import("three").Matrix3;
        multiplyScalar: (s: number) => import("three").Matrix3;
        determinant: () => number;
        invert: () => import("three").Matrix3;
        transpose: () => import("three").Matrix3;
        getNormalMatrix: (matrix4: import("three").Matrix4) => import("three").Matrix3;
        transposeIntoArray: (r: number[]) => import("three").Matrix3;
        setUvTransform: (tx: number, ty: number, sx: number, sy: number, rotation: number, cx: number, cy: number) => import("three").Matrix3;
        scale: (sx: number, sy: number) => import("three").Matrix3;
        makeTranslation: {
            (x: number, y: number): import("three").Matrix3;
            (x: number, y: number): import("three").Matrix3;
        };
        makeRotation: {
            (theta: number): import("three").Matrix3;
            (theta: number): import("three").Matrix3;
        };
        makeScale: {
            (x: number, y: number): import("three").Matrix3;
            (x: number, y: number): import("three").Matrix3;
        };
        rotate: (theta: number) => import("three").Matrix3;
        translate: (tx: number, ty: number) => import("three").Matrix3;
        equals: (matrix: import("three").Matrix3) => boolean;
        fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix3;
        toArray: {
            (array?: number[] | undefined, offset?: number | undefined): number[];
            (array?: import("three").Matrix3Tuple | undefined, offset?: 0 | undefined): import("three").Matrix3Tuple;
            (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
        };
        multiply: (m: import("three").Matrix3) => import("three").Matrix3;
        premultiply: (m: import("three").Matrix3) => import("three").Matrix3;
        multiplyMatrices: (a: import("three").Matrix3, b: import("three").Matrix3) => import("three").Matrix3;
        multiplyVector3: (vector: import("three").Vector3) => any;
        multiplyVector3Array: (a: any) => any;
        getInverse: {
            (matrix: import("three").Matrix4, throwOnDegenerate?: boolean | undefined): import("three").Matrix3;
            (matrix: import("three").Matrix): import("three").Matrix;
        };
        flattenToArrayOffset: (array: number[], offset: number) => number[];
    };
    matrix: {
        elements: number[];
        set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
        identity: () => import("three").Matrix4;
        clone: () => import("three").Matrix4;
        copy: (m: import("three").Matrix4) => import("three").Matrix4;
        copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
        extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
        makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
        extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
        makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
        makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
        lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
        multiply: (m: import("three").Matrix4) => import("three").Matrix4;
        premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
        multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
        multiplyToArray: (a: import("three").Matrix4, b: import("three").Matrix4, r: number[]) => import("three").Matrix4;
        multiplyScalar: (s: number) => import("three").Matrix4;
        determinant: () => number;
        transpose: () => import("three").Matrix4;
        setPosition: (v: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => import("three").Matrix4;
        invert: () => import("three").Matrix4;
        scale: (v: import("three").Vector3) => import("three").Matrix4;
        getMaxScaleOnAxis: () => number;
        makeTranslation: (x: number, y: number, z: number) => import("three").Matrix4;
        makeRotationX: (theta: number) => import("three").Matrix4;
        makeRotationY: (theta: number) => import("three").Matrix4;
        makeRotationZ: (theta: number) => import("three").Matrix4;
        makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
        makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
        makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
        compose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
        decompose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
        makePerspective: {
            (left: number, right: number, bottom: number, top: number, near: number, far: number): import("three").Matrix4;
            (fov: number, aspect: number, near: number, far: number): import("three").Matrix4;
        };
        makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number) => import("three").Matrix4;
        equals: (matrix: import("three").Matrix4) => boolean;
        fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
        toArray: {
            (array?: number[] | undefined, offset?: number | undefined): number[];
            (array?: import("three").Matrix4Tuple | undefined, offset?: 0 | undefined): import("three").Matrix4Tuple;
            (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
        };
        setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
        extractPosition: (m: import("three").Matrix4) => import("three").Matrix4;
        setRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
        multiplyVector3: (v: any) => any;
        multiplyVector4: (v: any) => any;
        multiplyVector3Array: (array: number[]) => number[];
        rotateAxis: (v: any) => void;
        crossVector: (v: any) => void;
        flattenToArrayOffset: (array: number[], offset: number) => number[];
        getInverse: (matrix: import("three").Matrix) => import("three").Matrix;
    };
    matrixWorld: {
        elements: number[];
        set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4;
        identity: () => import("three").Matrix4;
        clone: () => import("three").Matrix4;
        copy: (m: import("three").Matrix4) => import("three").Matrix4;
        copyPosition: (m: import("three").Matrix4) => import("three").Matrix4;
        extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
        makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4;
        extractRotation: (m: import("three").Matrix4) => import("three").Matrix4;
        makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4;
        makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
        lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4;
        multiply: (m: import("three").Matrix4) => import("three").Matrix4;
        premultiply: (m: import("three").Matrix4) => import("three").Matrix4;
        multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4;
        multiplyToArray: (a: import("three").Matrix4, b: import("three").Matrix4, r: number[]) => import("three").Matrix4;
        multiplyScalar: (s: number) => import("three").Matrix4;
        determinant: () => number;
        transpose: () => import("three").Matrix4;
        setPosition: (v: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => import("three").Matrix4;
        invert: () => import("three").Matrix4;
        scale: (v: import("three").Vector3) => import("three").Matrix4;
        getMaxScaleOnAxis: () => number;
        makeTranslation: (x: number, y: number, z: number) => import("three").Matrix4;
        makeRotationX: (theta: number) => import("three").Matrix4;
        makeRotationY: (theta: number) => import("three").Matrix4;
        makeRotationZ: (theta: number) => import("three").Matrix4;
        makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4;
        makeScale: (x: number, y: number, z: number) => import("three").Matrix4;
        makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4;
        compose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
        decompose: (translation: import("three").Vector3, rotation: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4;
        makePerspective: {
            (left: number, right: number, bottom: number, top: number, near: number, far: number): import("three").Matrix4;
            (fov: number, aspect: number, near: number, far: number): import("three").Matrix4;
        };
        makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number) => import("three").Matrix4;
        equals: (matrix: import("three").Matrix4) => boolean;
        fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4;
        toArray: {
            (array?: number[] | undefined, offset?: number | undefined): number[];
            (array?: import("three").Matrix4Tuple | undefined, offset?: 0 | undefined): import("three").Matrix4Tuple;
            (array?: ArrayLike<number> | undefined, offset?: number | undefined): ArrayLike<number>;
        };
        setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4;
        extractPosition: (m: import("three").Matrix4) => import("three").Matrix4;
        setRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4;
        multiplyVector3: (v: any) => any;
        multiplyVector4: (v: any) => any;
        multiplyVector3Array: (array: number[]) => number[];
        rotateAxis: (v: any) => void;
        crossVector: (v: any) => void;
        flattenToArrayOffset: (array: number[], offset: number) => number[];
        getInverse: (matrix: import("three").Matrix) => import("three").Matrix;
    };
    matrixAutoUpdate: boolean;
    matrixWorldAutoUpdate: boolean;
    matrixWorldNeedsUpdate: boolean;
    layers: {
        mask: number;
        set: (channel: number) => void;
        enable: (channel: number) => void;
        enableAll: () => void;
        toggle: (channel: number) => void;
        disable: (channel: number) => void;
        disableAll: () => void;
        test: (layers: import("three").Layers) => boolean;
        isEnabled: (channel: number) => boolean;
    };
    visible: boolean;
    castShadow: boolean;
    receiveShadow: boolean;
    frustumCulled: boolean;
    renderOrder: number;
    animations: {
        name: string;
        tracks: {
            name: string;
            times: {
                [x: number]: number;
                readonly BYTES_PER_ELEMENT: number;
                readonly buffer: {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                    readonly [Symbol.toStringTag]: string;
                } | {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                    readonly [Symbol.species]: SharedArrayBuffer;
                    readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                };
                readonly byteLength: number;
                readonly byteOffset: number;
                copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                join: (separator?: string | undefined) => string;
                lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                readonly length: number;
                map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                reduce: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                    <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                };
                reduceRight: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                    <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                };
                reverse: () => Float32Array;
                set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                toLocaleString: () => string;
                toString: () => string;
                valueOf: () => Float32Array;
                entries: () => IterableIterator<[number, number]>;
                keys: () => IterableIterator<number>;
                values: () => IterableIterator<number>;
                includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                at: (index: number) => number | undefined;
                findLast: {
                    <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                    (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                };
                findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                [Symbol.iterator]: () => IterableIterator<number>;
                readonly [Symbol.toStringTag]: "Float32Array";
            };
            values: {
                [x: number]: number;
                readonly BYTES_PER_ELEMENT: number;
                readonly buffer: {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                    readonly [Symbol.toStringTag]: string;
                } | {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                    readonly [Symbol.species]: SharedArrayBuffer;
                    readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                };
                readonly byteLength: number;
                readonly byteOffset: number;
                copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                join: (separator?: string | undefined) => string;
                lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                readonly length: number;
                map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                reduce: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                    <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                };
                reduceRight: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                    <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                };
                reverse: () => Float32Array;
                set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                toLocaleString: () => string;
                toString: () => string;
                valueOf: () => Float32Array;
                entries: () => IterableIterator<[number, number]>;
                keys: () => IterableIterator<number>;
                values: () => IterableIterator<number>;
                includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                at: (index: number) => number | undefined;
                findLast: {
                    <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                    (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                };
                findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                [Symbol.iterator]: () => IterableIterator<number>;
                readonly [Symbol.toStringTag]: "Float32Array";
            };
            ValueTypeName: string;
            TimeBufferType: {
                [x: number]: number;
                readonly BYTES_PER_ELEMENT: number;
                readonly buffer: {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                    readonly [Symbol.toStringTag]: string;
                } | {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                    readonly [Symbol.species]: SharedArrayBuffer;
                    readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                };
                readonly byteLength: number;
                readonly byteOffset: number;
                copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                join: (separator?: string | undefined) => string;
                lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                readonly length: number;
                map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                reduce: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                    <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                };
                reduceRight: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                    <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                };
                reverse: () => Float32Array;
                set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                toLocaleString: () => string;
                toString: () => string;
                valueOf: () => Float32Array;
                entries: () => IterableIterator<[number, number]>;
                keys: () => IterableIterator<number>;
                values: () => IterableIterator<number>;
                includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                at: (index: number) => number | undefined;
                findLast: {
                    <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                    (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                };
                findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                [Symbol.iterator]: () => IterableIterator<number>;
                readonly [Symbol.toStringTag]: "Float32Array";
            };
            ValueBufferType: {
                [x: number]: number;
                readonly BYTES_PER_ELEMENT: number;
                readonly buffer: {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => ArrayBuffer;
                    readonly [Symbol.toStringTag]: string;
                } | {
                    readonly byteLength: number;
                    slice: (begin: number, end?: number | undefined) => SharedArrayBuffer;
                    readonly [Symbol.species]: SharedArrayBuffer;
                    readonly [Symbol.toStringTag]: "SharedArrayBuffer";
                };
                readonly byteLength: number;
                readonly byteOffset: number;
                copyWithin: (target: number, start: number, end?: number | undefined) => Float32Array;
                every: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                fill: (value: number, start?: number | undefined, end?: number | undefined) => Float32Array;
                filter: (predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any) => Float32Array;
                find: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number | undefined;
                findIndex: (predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any) => number;
                forEach: (callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any) => void;
                indexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                join: (separator?: string | undefined) => string;
                lastIndexOf: (searchElement: number, fromIndex?: number | undefined) => number;
                readonly length: number;
                map: (callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any) => Float32Array;
                reduce: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                    <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;
                };
                reduceRight: {
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number;
                    (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number;
                    <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: Float32Array) => U_1, initialValue: U_1): U_1;
                };
                reverse: () => Float32Array;
                set: (array: ArrayLike<number>, offset?: number | undefined) => void;
                slice: (start?: number | undefined, end?: number | undefined) => Float32Array;
                some: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => boolean;
                sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Float32Array;
                subarray: (begin?: number | undefined, end?: number | undefined) => Float32Array;
                toLocaleString: () => string;
                toString: () => string;
                valueOf: () => Float32Array;
                entries: () => IterableIterator<[number, number]>;
                keys: () => IterableIterator<number>;
                values: () => IterableIterator<number>;
                includes: (searchElement: number, fromIndex?: number | undefined) => boolean;
                at: (index: number) => number | undefined;
                findLast: {
                    <S extends number>(predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined;
                    (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined;
                };
                findLastIndex: (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number;
                [Symbol.iterator]: () => IterableIterator<number>;
                readonly [Symbol.toStringTag]: "Float32Array";
            };
            DefaultInterpolation: import("three").InterpolationModes;
            InterpolantFactoryMethodDiscrete: (result: any) => import("three").DiscreteInterpolant;
            InterpolantFactoryMethodLinear: (result: any) => import("three").LinearInterpolant;
            InterpolantFactoryMethodSmooth: (result: any) => import("three").CubicInterpolant;
            setInterpolation: (interpolation: import("three").InterpolationModes) => import("three").KeyframeTrack;
            getInterpolation: () => import("three").InterpolationModes;
            createInterpolant: () => import("three").Interpolant;
            getValueSize: () => number;
            shift: (timeOffset: number) => import("three").KeyframeTrack;
            scale: (timeScale: number) => import("three").KeyframeTrack;
            trim: (startTime: number, endTime: number) => import("three").KeyframeTrack;
            validate: () => boolean;
            optimize: () => import("three").KeyframeTrack;
            clone: () => import("three").KeyframeTrack;
        }[];
        blendMode: import("three").AnimationBlendMode;
        duration: number;
        uuid: string;
        results: any[];
        resetDuration: () => import("three").AnimationClip;
        trim: () => import("three").AnimationClip;
        validate: () => boolean;
        optimize: () => import("three").AnimationClip;
        clone: () => import("three").AnimationClip;
        toJSON: (clip: import("three").AnimationClip) => any;
    }[];
    userData: {
        [key: string]: any;
    };
    customDepthMaterial: {
        alphaTest: number;
        alphaToCoverage: boolean;
        blendDst: import("three").BlendingDstFactor;
        blendDstAlpha: number | null;
        blendEquation: import("three").BlendingEquation;
        blendEquationAlpha: number | null;
        blending: import("three").Blending;
        blendSrc: import("three").BlendingSrcFactor | import("three").BlendingDstFactor;
        blendSrcAlpha: number | null;
        clipIntersection: boolean;
        clippingPlanes: any;
        clipShadows: boolean;
        colorWrite: boolean;
        defines: {
            [key: string]: any;
        } | undefined;
        depthFunc: import("three").DepthModes;
        depthTest: boolean;
        depthWrite: boolean;
        id: number;
        stencilWrite: boolean;
        stencilFunc: import("three").StencilFunc;
        stencilRef: number;
        stencilWriteMask: number;
        stencilFuncMask: number;
        stencilFail: import("three").StencilOp;
        stencilZFail: import("three").StencilOp;
        stencilZPass: import("three").StencilOp;
        readonly isMaterial: true;
        name: string;
        needsUpdate: boolean;
        opacity: number;
        polygonOffset: boolean;
        polygonOffsetFactor: number;
        polygonOffsetUnits: number;
        precision: "highp" | "mediump" | "lowp" | null;
        premultipliedAlpha: boolean;
        forceSinglePass: boolean;
        dithering: boolean;
        side: import("three").Side;
        shadowSide: import("three").Side | null;
        toneMapped: boolean;
        transparent: boolean;
        type: string;
        uuid: string;
        vertexColors: boolean;
        visible: boolean;
        userData: any;
        version: number;
        clone: () => import("three").Material;
        copy: (material: import("three").Material) => import("three").Material;
        dispose: () => void;
        onBeforeCompile: (shader: import("three").Shader, renderer: import("three").WebGLRenderer) => void;
        customProgramCacheKey: () => string;
        setValues: (values: import("three").MaterialParameters) => void;
        toJSON: (meta?: any) => any;
        addEventListener: <T extends string>(type: T, listener: import("three").EventListener<import("three").Event, T, import("three").Material>) => void;
        hasEventListener: <T_1 extends string>(type: T_1, listener: import("three").EventListener<import("three").Event, T_1, import("three").Material>) => boolean;
        removeEventListener: <T_2 extends string>(type: T_2, listener: import("three").EventListener<import("three").Event, T_2, import("three").Material>) => void;
        dispatchEvent: (event: import("three").Event) => void;
    };
    customDistanceMaterial: {
        alphaTest: number;
        alphaToCoverage: boolean;
        blendDst: import("three").BlendingDstFactor;
        blendDstAlpha: number | null;
        blendEquation: import("three").BlendingEquation;
        blendEquationAlpha: number | null;
        blending: import("three").Blending;
        blendSrc: import("three").BlendingSrcFactor | import("three").BlendingDstFactor;
        blendSrcAlpha: number | null;
        clipIntersection: boolean;
        clippingPlanes: any;
        clipShadows: boolean;
        colorWrite: boolean;
        defines: {
            [key: string]: any;
        } | undefined;
        depthFunc: import("three").DepthModes;
        depthTest: boolean;
        depthWrite: boolean;
        id: number;
        stencilWrite: boolean;
        stencilFunc: import("three").StencilFunc;
        stencilRef: number;
        stencilWriteMask: number;
        stencilFuncMask: number;
        stencilFail: import("three").StencilOp;
        stencilZFail: import("three").StencilOp;
        stencilZPass: import("three").StencilOp;
        readonly isMaterial: true;
        name: string;
        needsUpdate: boolean;
        opacity: number;
        polygonOffset: boolean;
        polygonOffsetFactor: number;
        polygonOffsetUnits: number;
        precision: "highp" | "mediump" | "lowp" | null;
        premultipliedAlpha: boolean;
        forceSinglePass: boolean;
        dithering: boolean;
        side: import("three").Side;
        shadowSide: import("three").Side | null;
        toneMapped: boolean;
        transparent: boolean;
        type: string;
        uuid: string;
        vertexColors: boolean;
        visible: boolean;
        userData: any;
        version: number;
        clone: () => import("three").Material;
        copy: (material: import("three").Material) => import("three").Material;
        dispose: () => void;
        onBeforeCompile: (shader: import("three").Shader, renderer: import("three").WebGLRenderer) => void;
        customProgramCacheKey: () => string;
        setValues: (values: import("three").MaterialParameters) => void;
        toJSON: (meta?: any) => any;
        addEventListener: <T extends string>(type: T, listener: import("three").EventListener<import("three").Event, T, import("three").Material>) => void;
        hasEventListener: <T_1 extends string>(type: T_1, listener: import("three").EventListener<import("three").Event, T_1, import("three").Material>) => boolean;
        removeEventListener: <T_2 extends string>(type: T_2, listener: import("three").EventListener<import("three").Event, T_2, import("three").Material>) => void;
        dispatchEvent: (event: import("three").Event) => void;
    };
    readonly isObject3D: true;
    onBeforeRender: (renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, geometry: import("three").BufferGeometry, material: import("three").Material, group: import("three").Group) => void;
    onAfterRender: (renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, geometry: import("three").BufferGeometry, material: import("three").Material, group: import("three").Group) => void;
    applyMatrix4: (matrix: import("three").Matrix4) => void;
    applyQuaternion: (quaternion: import("three").Quaternion) => import("three").Scene;
    setRotationFromAxisAngle: (axis: import("three").Vector3, angle: number) => void;
    setRotationFromEuler: (euler: import("three").Euler) => void;
    setRotationFromMatrix: (m: import("three").Matrix4) => void;
    setRotationFromQuaternion: (q: import("three").Quaternion) => void;
    rotateOnAxis: (axis: import("three").Vector3, angle: number) => import("three").Scene;
    rotateOnWorldAxis: (axis: import("three").Vector3, angle: number) => import("three").Scene;
    rotateX: (angle: number) => import("three").Scene;
    rotateY: (angle: number) => import("three").Scene;
    rotateZ: (angle: number) => import("three").Scene;
    translateOnAxis: (axis: import("three").Vector3, distance: number) => import("three").Scene;
    translateX: (distance: number) => import("three").Scene;
    translateY: (distance: number) => import("three").Scene;
    translateZ: (distance: number) => import("three").Scene;
    localToWorld: (vector: import("three").Vector3) => import("three").Vector3;
    worldToLocal: (vector: import("three").Vector3) => import("three").Vector3;
    lookAt: {
        (vector: import("three").Vector3): void;
        (x: number, y: number, z: number): void;
    };
    add: (...object: import("three").Object3D<import("three").Event>[]) => import("three").Scene;
    remove: (...object: import("three").Object3D<import("three").Event>[]) => import("three").Scene;
    removeFromParent: () => import("three").Scene;
    clear: () => import("three").Scene;
    attach: (object: import("three").Object3D<import("three").Event>) => import("three").Scene;
    getObjectById: (id: number) => import("three").Object3D<import("three").Event> | undefined;
    getObjectByName: (name: string) => import("three").Object3D<import("three").Event> | undefined;
    getObjectByProperty: (name: string, value: any) => import("three").Object3D<import("three").Event> | undefined;
    getObjectsByProperty: (name: string, value: any) => import("three").Object3D<import("three").Event>[];
    getWorldPosition: (target: import("three").Vector3) => import("three").Vector3;
    getWorldQuaternion: (target: import("three").Quaternion) => import("three").Quaternion;
    getWorldScale: (target: import("three").Vector3) => import("three").Vector3;
    getWorldDirection: (target: import("three").Vector3) => import("three").Vector3;
    raycast: (raycaster: import("three").Raycaster, intersects: import("three").Intersection<import("three").Object3D<import("three").Event>>[]) => void;
    traverse: (callback: (object: import("three").Object3D<import("three").Event>) => any) => void;
    traverseVisible: (callback: (object: import("three").Object3D<import("three").Event>) => any) => void;
    traverseAncestors: (callback: (object: import("three").Object3D<import("three").Event>) => any) => void;
    updateMatrix: () => void;
    updateMatrixWorld: (force?: boolean | undefined) => void;
    updateWorldMatrix: (updateParents: boolean, updateChildren: boolean) => void;
    clone: (recursive?: boolean | undefined) => import("three").Scene;
    copy: (source: import("three").Scene, recursive?: boolean | undefined) => import("three").Scene;
    addEventListener: <T_9 extends string>(type: T_9, listener: import("three").EventListener<import("three").Event, T_9, import("three").Scene>) => void;
    hasEventListener: <T_10 extends string>(type: T_10, listener: import("three").EventListener<import("three").Event, T_10, import("three").Scene>) => boolean;
    removeEventListener: <T_11 extends string>(type: T_11, listener: import("three").EventListener<import("three").Event, T_11, import("three").Scene>) => void;
    dispatchEvent: (event: import("three").Event) => void;
}>;
export default _default;
