import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { InputCloneMode } from '../../poly/InputCloneMode';
import { SopType } from '../../poly/registers/nodes/types/Sop';
import { DefaultOperationParams } from '../../../core/operations/_Base';
export declare enum UvUnwrapMethod {
    POTPACK = "potpack",
    XATLAS = "xatlas"
}
export declare const UV_UNWRAP_METHODS: UvUnwrapMethod[];
interface UvUnwrapSopParams extends DefaultOperationParams {
    method: number;
    uv: string;
    resolution: number;
    padding: number;
}
export declare class UvUnwrapSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: UvUnwrapSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.FROM_NODE;
    static type(): Readonly<SopType.UV_UNWRAP>;
    cook(inputCoreGroups: CoreGroup[], params: UvUnwrapSopParams): Promise<CoreGroup>;
    private _unwrapMeshUVsWithXAtlas2;
    private _unwrapMeshUVsWithPotpack;
    private _unwrapUVsWithPotpack;
}
export {};
