/**
 * custom
 *
 *
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { SopType } from '../../poly/registers/nodes/types/Sop';
export declare enum ExtrudeOpenEdgesFilterMethod {
    BELOW_Y = "belowY",
    IN_BBOX = "inBbox"
}
declare class ExtrudeOpenEdgesSopParamConfig extends NodeParamsConfig {
    offset: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    filterEdges: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param filter method */
    filterMethod: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    bboxMin: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    bboxMax: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    yThreshold: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
}
export declare class ExtrudeOpenEdgesSopNode extends TypedSopNode<ExtrudeOpenEdgesSopParamConfig> {
    paramsConfig: ExtrudeOpenEdgesSopParamConfig;
    static type(): SopType;
    initializeNode(): void;
    cook(inputCoreGroups: CoreGroup[]): void;
    private _findAndExtrudeOpenEdges;
    private _filterEdgeIds;
    private _extrudeEdge;
}
export {};
