import { QuadSopNode } from './_BaseQuad';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { CoreGroup } from '../../../core/geometry/Group';
import { SopType } from '../../poly/registers/nodes/types/Sop';
export declare enum QuadSmoothMode {
    SQUARIFY = "squarify",
    AVERAGE = "average"
}
export declare const QUAD_SMOOTH_MODES: QuadSmoothMode[];
declare class QuadSmoothSopParamsConfig extends NodeParamsConfig {
    /** @param mode */
    mode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param iterations */
    iterations: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param strength */
    strength: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
}
export declare class QuadSmoothSopNode extends QuadSopNode<QuadSmoothSopParamsConfig> {
    paramsConfig: QuadSmoothSopParamsConfig;
    static type(): SopType;
    initializeNode(): void;
    cook(inputCoreGroups: CoreGroup[]): void;
    setMode(method: QuadSmoothMode): void;
    mode(): QuadSmoothMode;
    private _smoothQuadGeometry;
    private _smoothQuadGeometryWithAverage;
    private _smoothQuadGeometryWithSquarify;
}
export {};
