import * as Builder from '@tscircuit/builder'; import { ReactElement } from 'react'; type Dimension = number | string; type Point = [number, number] | { x: number; y: number; }; type DimensionPoint = [Dimension, Dimension] | { x: Dimension; y: Dimension; }; interface SchematicPosition { center?: Point; x?: Dimension; y?: Dimension; cx?: Dimension; cy?: Dimension; sch_x?: Dimension; sch_y?: Dimension; sch_cx?: Dimension; sch_cy?: Dimension; sch_center?: Point; sch_rotation?: string | number; rotation?: string | number; } interface PCBPosition { center?: Point; pcb_x?: Dimension; pcb_y?: Dimension; x?: Dimension; y?: Dimension; pcb_cx?: Dimension; pcb_cy?: Dimension; pcb_rotation?: string | number; footprint?: string | ReactElement; pcb_layer?: Builder.LayerRef; } interface BomProps { supplier_part_numbers?: Partial>; } type RelativeDirection = "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left"; interface CommonLayout extends SchematicPosition, PCBPosition, BomProps { } export type { BomProps, CommonLayout, Dimension, DimensionPoint, PCBPosition, Point, RelativeDirection, SchematicPosition };