import { Material, Matrix4, Box3, Sphere, Object3D } from 'three';
import { SDFGeometry, SDFObjectType, SDFTesselationParams } from './SDFCommon';
import { ObjectContent, CoreObjectType } from '../../ObjectContent';
export declare class SDFObject implements ObjectContent<CoreObjectType.SDF> {
    private _geometry;
    visible: boolean;
    get geometry(): import("./manifold/manifold-encapsulated-types").Manifold;
    get type(): SDFObjectType;
    userData: {};
    name: string;
    castShadow: boolean;
    receiveShadow: boolean;
    renderOrder: number;
    frustumCulled: boolean;
    matrixAutoUpdate: boolean;
    material: Material | undefined;
    children: ObjectContent<CoreObjectType.SDF>[];
    parent: ObjectContent<CoreObjectType.SDF> | null;
    private _type;
    constructor(_geometry: SDFGeometry);
    SDFGeometry(): import("./manifold/manifold-encapsulated-types").Manifold;
    dispose(): void;
    applyMatrix4(matrix: Matrix4): void;
    add(...object: ObjectContent<CoreObjectType>[]): void;
    remove(...object: ObjectContent<CoreObjectType>[]): void;
    dispatchEvent(event: {
        type: string;
    }): void;
    traverse(callback: (object: SDFObject) => any): void;
    clone(): SDFObject;
    toObject3D(tesselationParams: SDFTesselationParams): Object3D | Object3D[] | undefined;
    boundingBox(target: Box3): void;
    boundingSphere(target: Sphere): void;
}
