import { Object3D, Group } from 'three';
import { QuadObject } from '../geometry/modules/quad/QuadObject';
import { WFCBuilderSopNode } from '../../engine/nodes/sop/WFCBuilder';
import { CoreObjectType, ObjectContent } from '../geometry/ObjectContent';
interface WFCBuilderOptions {
    node: WFCBuilderSopNode;
    quadObject: QuadObject;
    tileAndRuleObjects: Object3D[];
    tileHeight: number;
}
export declare class WFCBuilder {
    private _node;
    private _quadObject;
    private _tileObjects;
    private _tileHeight;
    private _tilesCollection;
    private _primitivesCount;
    constructor(options: WFCBuilderOptions);
    createObjects(): Group<import("three").Object3DEventMap>;
    update(builderObject: Object3D, solverObject: ObjectContent<CoreObjectType>): void;
    private _createObjects;
    private _processTileConfigs;
    private _convertTileConfig;
    private _convertTileConfigs;
    private _tileObject;
}
export {};
