import { NurbsSolid } from "../core";
import type { SolidData, FaceData } from "../core";
export type SolidPrimitive = {
    type: "box";
    dx: number;
    dy: number;
    dz: number;
    origin?: [number, number, number];
} | {
    type: "cylinder";
    radius: number;
    height: number;
    axis?: [number, number, number];
    origin?: [number, number, number];
} | {
    type: "sphere";
    radius: number;
    center?: [number, number, number];
} | {
    type: "custom";
    faces: FaceData[];
};
export interface UseNurbsSolidOptions {
    primitive: SolidPrimitive;
}
export interface UseNurbsSolidResult {
    solid: NurbsSolid | null;
    data: SolidData | null;
    faces: FaceData[];
}
export declare function useNurbsSolid({ primitive, }: UseNurbsSolidOptions): UseNurbsSolidResult;
