import { MeshWithBVH } from './../../../core/geometry/bvh/three-mesh-bvh';
import { Vector3, Texture, Data3DTexture, Box3 } from 'three';
import { TypedCopNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { CopType } from '../../poly/registers/nodes/types/Cop';
interface FillTextureOptions {
    resolution: Vector3;
    bbox: Box3;
    bboxSize: Vector3;
    voxelSizes: Vector3;
}
declare class SDFFromObjectCopParamsConfig extends NodeParamsConfig {
    /** @param which SOP node to import from */
    geometry: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
    /** @param voxelSize */
    voxelSize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param padding */
    padding: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param resolution */
    resolution: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    /** @param boundMin */
    boundMin: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    /** @param boundMax */
    boundMax: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
}
export declare class SDFFromObjectCopNode extends TypedCopNode<SDFFromObjectCopParamsConfig> {
    paramsConfig: SDFFromObjectCopParamsConfig;
    static type(): CopType;
    cook(inputContents: Texture[]): Promise<void>;
    _fillTexture(object: MeshWithBVH, options: FillTextureOptions): Data3DTexture;
    private __dataTexture;
    private _resolutionUsed;
    _dataTexture(resolution: Vector3): Data3DTexture;
    private createTextureTargetIfRequired;
    private _textureResolutionValid;
    private _createTexture;
}
export {};
