/**
 * Adds properties for WFC tiles
 *
 *
 */
import { TypedSopNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { CoreGroup } from '../../../core/geometry/Group';
import { SopType } from '../../poly/registers/nodes/types/Sop';
import { BooleanParam } from '../../params/Boolean';
import { StringParam } from '../../params/String';
import { BaseCoreObject } from '../../../core/geometry/entities/object/BaseCoreObject';
import { CoreObjectType, ObjectContent } from '../../../core/geometry/ObjectContent';
declare class WFCTilePropertiesSopParamsConfig extends NodeParamsConfig {
    /** @param group to assign the material to */
    group: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    /** @param addId */
    addId: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param addId */
    id: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    /** @param addName */
    addName: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param allowedRotationY */
    allowedRotationY: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class WFCTilePropertiesSopNode extends TypedSopNode<WFCTilePropertiesSopParamsConfig> {
    paramsConfig: WFCTilePropertiesSopParamsConfig;
    static type(): SopType;
    initializeNode(): void;
    cook(inputCoreGroups: CoreGroup[]): Promise<void>;
    protected _computeStringParam(param: StringParam, coreObjects: BaseCoreObject<CoreObjectType>[], applyMethod: (object: ObjectContent<CoreObjectType>, value: string) => void): Promise<void>;
    protected _computeBooleanParam(param: BooleanParam, coreObjects: BaseCoreObject<CoreObjectType>[], applyMethod: (object: ObjectContent<CoreObjectType>, value: boolean) => void): Promise<void>;
}
export {};
