/**
 * Unwraps UVs of each input geometries one by one
 *
 * @remarks
 *
 * This node can use 2 methods to unwrap UVs:
 *
 * - potpack: this uses a very basic unwrap algorithm, and works much better preceded with a sop/Face node that will make every face separate from its neighbours
 * - xatlast: this gives better results on light geometries, but can run for a very long time on larger models.
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { UvUnwrapMethod } from '../../operations/sop/UvUnwrap';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { SopType } from '../../poly/registers/nodes/types/Sop';
declare class UvUnwrapSopParamConfig extends NodeParamsConfig {
    /** @param method */
    method: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param attribute to unwrap */
    uv: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    /** @param target texture resolution */
    resolution: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param padding */
    padding: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
}
export declare class UvUnwrapSopNode extends TypedSopNode<UvUnwrapSopParamConfig> {
    paramsConfig: UvUnwrapSopParamConfig;
    static type(): SopType;
    initializeNode(): void;
    private _operation;
    cook(inputCoreGroups: CoreGroup[]): Promise<void>;
    setMethod(method: UvUnwrapMethod): void;
}
export {};
