import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { TypedSopNode } from './_Base';
import { CadGeometryType, TopoDS_Shape, Geom2d_Curve } from '../../../core/geometry/modules/cad/CadCommon';
import { CadObject } from '../../../core/geometry/modules/cad/CadObject';
import { ModuleName } from '../../poly/registers/modules/Common';
export declare class CADSopNode<K extends NodeParamsConfig> extends TypedSopNode<K> {
    dataType(): string;
    requiredModules(): ModuleName[];
    setCADGeom2dCurve(curve: Geom2d_Curve): void;
    setCADShape(shape: TopoDS_Shape): void;
    setCADShapes(shapes: TopoDS_Shape[]): void;
    setCADObjects(cadObjects: CadObject<CadGeometryType>[]): void;
    setCADObject(cadObject: CadObject<CadGeometryType>): void;
    protected _setContainerCadObjects(objects: CadObject<CadGeometryType>[]): void;
    processError(e: unknown): string;
}
export type BaseCADSopNodeType = CADSopNode<NodeParamsConfig>;
export declare class BaseCADSopNodeClass extends CADSopNode<NodeParamsConfig> {
}
