import { MaybeRefOrGetter } from '@vueuse/shared'; import { ComputedRef } from 'vue'; import { BoundingBox, Edge, Face, Vertex } from '../types'; import { Shape, CurvePath } from 'three'; /** * All those automagically reactive details about the shape you're working with. */ export interface Primitive { vertices: ComputedRef; edges: ComputedRef; faces: ComputedRef; svgPath: ComputedRef; drawOnCanvas: (ctx: CanvasRenderingContext2D) => void; threeShape: ComputedRef; threeCurvePath: ComputedRef>; centroid: ComputedRef; boundingBox: ComputedRef; } /** * Common configuration options for primitives. */ export interface PrimitiveConfig { position?: MaybeRefOrGetter<{ x: number; y: number; z?: number; }>; rotation?: MaybeRefOrGetter; scale?: MaybeRefOrGetter | MaybeRefOrGetter; vertices: ComputedRef; edges: ComputedRef; faces: ComputedRef; isClosed?: boolean; } /** * The core functionality of a primitive, used by all shapes. * @param config */ export declare function usePrimitive(config?: PrimitiveConfig): Primitive; //# sourceMappingURL=usePrimitive.d.ts.map