import type { EditableMesh as EditableMeshValue, ElementSelection } from "./types.ts"; export type V = readonly [number, number, number]; export interface MeshParts { readonly positions: number[]; readonly faces: number[][]; readonly useSmooth: number[]; readonly sharp: Set; } export declare function requireSelection(sel: ElementSelection, domain: "vertex" | "face" | "edge"): void; export declare function faceVerts(em: EditableMeshValue, f: number): number[]; export declare function edgeVerts(em: EditableMeshValue, e: number): [number, number]; export declare function p(em: EditableMeshValue, v: number): V; export declare function add(a: V, b: V, s?: number): V; export declare function sub(a: V, b: V): V; export declare function mul(a: V, s: number): V; export declare function norm(a: V): V; export declare function cross(a: V, b: V): V; export declare function center(ps: V[]): V; export declare function normal(ps: V[]): V; export declare function key(a: V, b: V): string; export declare function addTri(m: MeshParts, a: V, b: V, c: V, smooth?: number): number; export declare function addQuad(m: MeshParts, a: V, b: V, c: V, d: V, smooth?: number): [number, number]; export declare function build(m: MeshParts): EditableMeshValue; export declare function edgeSelectionOfFaces(em: EditableMeshValue, faces: readonly number[]): ElementSelection; export declare function copyMesh(em: EditableMeshValue): MeshParts; export declare function copyWithoutFaces(em: EditableMeshValue, drop: ReadonlySet): MeshParts; export declare function requireLoop(sel: ElementSelection): void; export declare function loopVertices(em: EditableMeshValue, edges: readonly number[]): number[]; export declare function addFan(m: MeshParts, verts: readonly V[], smooth: number): number[]; export declare function range(a: number, b: number): number[]; export declare function tint(em: EditableMeshValue, faces: readonly number[]): void; export declare function pos(a: Float32Array, v: number): V; //# sourceMappingURL=operator-utils.d.ts.map