import { Color, Dates, GeometryHelper, Line, Lists, Logic, MathBitByBit, MeshBitByBit, Point, Polyline, TextBitByBit, Transforms, Vector } from "@bitbybit-dev/base"; import { JSCAD, JSCADWorkerManager } from "@bitbybit-dev/jscad-worker"; import { ManifoldBitByBit, ManifoldWorkerManager } from "@bitbybit-dev/manifold-worker"; import { OCCTWorkerManager } from "@bitbybit-dev/occt-worker"; import { ContextBase } from "./context"; import { Tag } from "./bitbybit/tag"; import { Time } from "./bitbybit/time"; import { Asset } from "./bitbybit/asset"; import { JSONBitByBit } from "./bitbybit/json"; import { CSVBitByBit } from "./bitbybit/csv"; import { Verb } from "./bitbybit/verb/verb"; import { OCCTW } from "./bitbybit/occt/occt"; /** * Everything a renderer's root object holds that has nothing to do with the renderer: the three * kernel worker managers and the geometry, maths and data services built on them. */ export type SharedServices = { jscadWorkerManager: JSCADWorkerManager; manifoldWorkerManager: ManifoldWorkerManager; occtWorkerManager: OCCTWorkerManager; jscad: JSCAD; manifold: ManifoldBitByBit; lists: Lists; math: MathBitByBit; vector: Vector; tag: Tag; color: Color; transforms: Transforms; point: Point; line: Line; polyline: Polyline; /** * NURBS curves and surfaces. * * @deprecated Verbnurbs is not maintained upstream and this API is removed in the next major * version. Use the OpenCascade (occt) NURBS operations instead. Existing scripts keep working * until the removal. */ verb: Verb; time: Time; occt: OCCTW; asset: Asset; logic: Logic; json: JSONBitByBit; csv: CSVBitByBit; text: TextBitByBit; dates: Dates; mesh: MeshBitByBit; geometryHelper: GeometryHelper; }; /** * Builds the engine-agnostic half of a renderer's root object. Which service takes which * collaborators is stated here once, so a constructor that gains an argument is a change to this * file rather than to every renderer that mirrors it. * @param context the renderer's own context, which the services that need one are given * @returns every shared service, already wired */ export declare function createSharedServices(context: ContextBase): SharedServices;