export type PcbComponentSide = 'top' | 'bottom'; export type PcbComponentLayer = 1 | 2; export interface PcbComponentTransformState { primitiveId: string; designator?: string; side: PcbComponentSide; layer: PcbComponentLayer; xMil: number; yMil: number; rotationDeg: number; locked: boolean; } export interface PcbComponentTransformRequest { side?: PcbComponentSide; xMil?: number; yMil?: number; rotationDeg?: number; } export interface PcbComponentTransformChange { field: 'side' | 'xMil' | 'yMil' | 'rotationDeg'; before: string | number; after: string | number; } export interface PcbComponentTransformPlan { before: PcbComponentTransformState; planned: PcbComponentTransformState; changes: PcbComponentTransformChange[]; nativeProperty: Record; } export declare function normalizePcbRotation(value: number): number; export declare function pcbSideToLayer(side: PcbComponentSide): PcbComponentLayer; export declare function pcbLayerToSide(layer: number): PcbComponentSide | undefined; export declare function parsePcbComponentTransformState(value: unknown): PcbComponentTransformState | undefined; export declare function planPcbComponentTransform(before: PcbComponentTransformState, request: PcbComponentTransformRequest): PcbComponentTransformPlan; export declare function pcbComponentStateMatches(actual: PcbComponentTransformState, expected: PcbComponentTransformState): boolean; export declare function nativePcbComponentRestoreProperty(snapshot: PcbComponentTransformState): Record;