import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { TypedSopNode } from './_Base';
import type { QuadGeometry } from '../../../core/geometry/modules/quad/QuadGeometry';
import { QuadObject } from '../../../core/geometry/modules/quad/QuadObject';
import { ModuleName } from '../../poly/registers/modules/Common';
export declare class QuadSopNode<K extends NodeParamsConfig> extends TypedSopNode<K> {
    dataType(): string;
    requiredModules(): ModuleName[];
    setQuadGeometry(geometry: QuadGeometry): void;
    setQuadGeometries(geometries: QuadGeometry[]): void;
    setQuadObjects(quadObjects: QuadObject[]): void;
    setQuadObject(quadObject: QuadObject): void;
    protected _setContainerQuadObjects(objects: QuadObject[]): void;
}
export type BaseCSGSopNodeType = QuadSopNode<NodeParamsConfig>;
export declare class BaseCSGSopNodeClass extends QuadSopNode<NodeParamsConfig> {
}
