import { Object3D, Material, Matrix4, Box3, Sphere } from 'three';
import { ObjectContent, CoreObjectType } from '../../ObjectContent';
import { TetGeometry } from './TetGeometry';
import { TetTesselationParams } from './TetCommon';
export declare class TetObject implements ObjectContent<CoreObjectType.TET> {
    private _geometry;
    visible: boolean;
    get geometry(): TetGeometry;
    get type(): CoreObjectType;
    parent: null;
    children: never[];
    userData: {};
    name: string;
    castShadow: boolean;
    receiveShadow: boolean;
    renderOrder: number;
    frustumCulled: boolean;
    matrixAutoUpdate: boolean;
    material: Material | undefined;
    constructor(_geometry: TetGeometry);
    setGeometry(geometry: TetGeometry): void;
    tetGeometry(): TetGeometry;
    dispose(): void;
    applyMatrix4(matrix: Matrix4): void;
    add(...object: ObjectContent<CoreObjectType>[]): void;
    remove(...object: ObjectContent<CoreObjectType>[]): void;
    dispatchEvent(event: {
        type: string;
    }): void;
    traverse(callback: (object: TetObject) => any): void;
    clone(): TetObject;
    toObject3D(tesselationParams: TetTesselationParams): Object3D | Object3D[] | undefined;
    static toObject3D(tetObject: TetObject, tesselationParams: TetTesselationParams): Object3D | Object3D[] | undefined;
    boundingBox(target: Box3): void;
    boundingSphere(target: Sphere): void;
}
