import { AnyCircuitElement } from 'circuit-json'; import { P as PinMismatchDetail, F as Footprint } from './compare-FVKHS-Qm.js'; export { B as Bounds, C as CircuitJsonToFootprintOptions, a as CopperComparisonSummary, b as PinComparisonSummary, R as RasterComparison, c as circuitJsonToFootprint, d as compareFootprints, f as footprinterStringToFootprint, g as getFootprintBounds, s as summarizeCopperComparison } from './compare-FVKHS-Qm.js'; import '@tscircuit/math-utils'; declare const NUMERIC_PARAMETERS: readonly ["p", "px", "py", "w", "h", "pw", "ph", "pl", "pad", "ball", "od", "id"]; type NumericParameter = (typeof NUMERIC_PARAMETERS)[number]; type Topology = "four-sided" | "grid" | "irregular" | "linear" | "two-sided"; interface FootprinterDiscoveryCandidate { copperIntersectionOverUnion: number; domainScore: number; family: string; footprinterString: string; geometryScore: number; holeIntersectionOverUnion: number; optimizedParameters: Partial>; pinMatchRate: number; pinMismatches: PinMismatchDetail[]; pinsMatch: boolean; rankingScore: number; } interface FootprinterDiscoveryResult { best: FootprinterDiscoveryCandidate | null; candidates: FootprinterDiscoveryCandidate[]; diagnostics: { evaluatedSeeds: number; optimizedSeeds: number; targetPadCount: number; topology: Topology; }; target: Footprint; } interface CircuitJsonToFootprinterOptions { maxCandidates?: number; sourceHints?: string[]; subtitle?: string; title?: string; } declare const circuitJsonToFootprinter: (circuitJson: readonly AnyCircuitElement[], options?: CircuitJsonToFootprinterOptions) => FootprinterDiscoveryResult; export { type CircuitJsonToFootprinterOptions, Footprint, type FootprinterDiscoveryCandidate, type FootprinterDiscoveryResult, PinMismatchDetail, circuitJsonToFootprinter };