import { CircuitJson } from 'circuit-json'; import * as circuit_json_to_gltf from 'circuit-json-to-gltf'; type CircuitJsonToGltfModule = typeof circuit_json_to_gltf; declare global { var tscircuitDynamicModules: { "circuit-json-to-gltf"?: CircuitJsonToGltfModule; } | undefined; } declare const getCircuitJsonToGltfModule: () => Promise; interface CircuitJsonToStepOptions { /** Export one STEP file. Defaults to the complete assembly, including all PCBs and parts. Explicit "pcb" retains PCB-only behavior. */ exportMode?: "pcb" | "assembly"; /** Board width in mm (optional if pcb_board is present) */ boardWidth?: number; /** Board height in mm (optional if pcb_board is present) */ boardHeight?: number; /** Board thickness in mm (default: 1.6mm or from pcb_board) */ boardThickness?: number; /** Root product name (default: "Combined Assembly", or "PCB" in explicit PCB mode). */ productName?: string; /** Include component meshes in PCB mode (default: false). Assembly mode includes all parts. */ includeComponents?: boolean; /** Include external model meshes from model_*_url fields (default: false in PCB mode, true in assembly mode). */ includeExternalMeshes?: boolean; /** * Pre-loaded STEP file contents, keyed by URL/path. * If a URL is found here, the content is used directly instead of fetching. * Useful for tests that need to load local files. */ fsMap?: Record; } /** * Converts Circuit JSON to one STEP file containing a PCB or a named assembly. */ declare function circuitJsonToStep(circuitJson: CircuitJson, options?: CircuitJsonToStepOptions): Promise; export { type CircuitJsonToStepOptions, circuitJsonToStep, getCircuitJsonToGltfModule };