import { z } from 'zod'; import { type ToolDefinition, type ToolContext } from './types.js'; import { type EnvConfig } from '../config/env.js'; import type { PcbConstraintInput } from '../pcb-constraints/types.js'; export declare const pcbBoardDataSchema: z.ZodObject<{ widthMm: z.ZodOptional; heightMm: z.ZodOptional; layerCount: z.ZodOptional; hasOutline: z.ZodOptional; mountingHoleCount: z.ZodOptional; hasLayerStack: z.ZodOptional; hasNetClasses: z.ZodOptional; hasClearanceRules: z.ZodOptional; hasKeepoutAreas: z.ZodOptional; hasPlacementZones: z.ZodOptional; hasFiducials: z.ZodOptional; hasTestPads: z.ZodOptional; hasDrillFile: z.ZodOptional; minCopperToEdgeMm: z.ZodOptional; copperToEdgeViolationCount: z.ZodOptional; minDrillMm: z.ZodOptional; minAnnularRingMm: z.ZodOptional; minSolderMaskSliverMm: z.ZodOptional; solderMaskSliverViolationCount: z.ZodOptional; silkscreenOverPadCount: z.ZodOptional; smtComponentCount: z.ZodOptional; fiducialCount: z.ZodOptional; toolingHoleCount: z.ZodOptional; polarizedComponentCount: z.ZodOptional; polarityMarkCount: z.ZodOptional; componentSpacingViolationCount: z.ZodOptional; criticalNetNames: z.ZodOptional>; testPointNets: z.ZodOptional>; hasProgrammingHeader: z.ZodOptional; requiresProgrammingHeader: z.ZodOptional; hasFabricationNotes: z.ZodOptional; hasHighVoltage: z.ZodOptional; manufacturingProcess: z.ZodOptional; hasQuantity: z.ZodOptional; }, z.core.$strip>; /** * Fetch board data from the live EasyEDA bridge when no explicit boardData is provided. * Queries dimensions, layers, and stackup in parallel via Promise.allSettled. */ export declare function fetchBoardDataFromBridge(ctx: ToolContext, projectId: string): Promise; declare function registerPcbConstraintTools(registry: { register: (def: ToolDefinition) => void; }, _config: EnvConfig): void; export { registerPcbConstraintTools };