UNPKG

kicad-component-converter

Version:

Convert kicad_mod or kicad_sym file into Circuit JSON or tscircuit

888 lines (882 loc) 30.8 kB
import { z } from 'zod'; import { AnyCircuitElement } from 'circuit-json'; type MakeRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>; declare const kicad_mod_json_def: z.ZodObject<{ footprint_name: z.ZodString; version: z.ZodOptional<z.ZodString>; generator: z.ZodOptional<z.ZodString>; generator_version: z.ZodOptional<z.ZodString>; layer: z.ZodString; descr: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; properties: z.ZodArray<z.ZodObject<{ key: z.ZodString; val: z.ZodString; attributes: z.ZodObject<{ at: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>; size: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>; layer: z.ZodOptional<z.ZodString>; layers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; roundrect_rratio: z.ZodOptional<z.ZodNumber>; uuid: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { at?: [number, number] | [number, number, number] | undefined; size?: [number, number] | undefined; layer?: string | undefined; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; }, { at?: [number, number] | [number, number, number] | undefined; size?: [number, number] | undefined; layer?: string | undefined; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; }>; }, "strip", z.ZodTypeAny, { key: string; val: string; attributes: { at?: [number, number] | [number, number, number] | undefined; size?: [number, number] | undefined; layer?: string | undefined; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; }; }, { key: string; val: string; attributes: { at?: [number, number] | [number, number, number] | undefined; size?: [number, number] | undefined; layer?: string | undefined; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; }; }>, "many">; fp_lines: z.ZodArray<z.ZodEffects<z.ZodObject<{ start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; stroke: z.ZodOptional<z.ZodObject<{ width: z.ZodNumber; type: z.ZodString; }, "strip", z.ZodTypeAny, { type: string; width: number; }, { type: string; width: number; }>>; width: z.ZodOptional<z.ZodNumber>; layer: z.ZodString; uuid: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { start: [number, number]; end: [number, number]; layer: string; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }, { start: [number, number]; end: [number, number]; layer: string; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }>, MakeRequired<Omit<{ start: [number, number]; end: [number, number]; layer: string; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }, "width">, "stroke">, { start: [number, number]; end: [number, number]; layer: string; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }>, "many">; fp_rects: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{ start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; stroke: z.ZodOptional<z.ZodObject<{ width: z.ZodNumber; type: z.ZodString; }, "strip", z.ZodTypeAny, { type: string; width: number; }, { type: string; width: number; }>>; width: z.ZodOptional<z.ZodNumber>; fill: z.ZodOptional<z.ZodString>; layer: z.ZodString; uuid: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { start: [number, number]; end: [number, number]; layer: string; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }, { start: [number, number]; end: [number, number]; layer: string; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }>, MakeRequired<Omit<{ start: [number, number]; end: [number, number]; layer: string; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }, "width">, "stroke">, { start: [number, number]; end: [number, number]; layer: string; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }>, "many">>; fp_texts: z.ZodArray<z.ZodObject<{ fp_text_type: z.ZodLiteral<"user">; text: z.ZodString; at: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>; layer: z.ZodString; uuid: z.ZodOptional<z.ZodString>; effects: z.ZodObject<{ font: z.ZodOptional<z.ZodOptional<z.ZodObject<{ size: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; thickness: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { size: [number, number]; thickness?: number | undefined; }, { size: [number, number]; thickness?: number | undefined; }>>>; }, "strip", z.ZodTypeAny, { font?: { size: [number, number]; thickness?: number | undefined; } | undefined; }, { font?: { size: [number, number]; thickness?: number | undefined; } | undefined; }>; }, "strip", z.ZodTypeAny, { at: [number, number] | [number, number, number]; layer: string; fp_text_type: "user"; text: string; effects: { font?: { size: [number, number]; thickness?: number | undefined; } | undefined; }; uuid?: string | undefined; }, { at: [number, number] | [number, number, number]; layer: string; fp_text_type: "user"; text: string; effects: { font?: { size: [number, number]; thickness?: number | undefined; } | undefined; }; uuid?: string | undefined; }>, "many">; fp_arcs: z.ZodArray<z.ZodObject<{ start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; mid: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; stroke: z.ZodObject<{ width: z.ZodNumber; type: z.ZodString; }, "strip", z.ZodTypeAny, { type: string; width: number; }, { type: string; width: number; }>; layer: z.ZodString; uuid: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { start: [number, number]; mid: [number, number]; end: [number, number]; layer: string; stroke: { type: string; width: number; }; uuid?: string | undefined; }, { start: [number, number]; mid: [number, number]; end: [number, number]; layer: string; stroke: { type: string; width: number; }; uuid?: string | undefined; }>, "many">; fp_circles: z.ZodOptional<z.ZodArray<z.ZodObject<{ center: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; stroke: z.ZodObject<{ width: z.ZodNumber; type: z.ZodString; }, "strip", z.ZodTypeAny, { type: string; width: number; }, { type: string; width: number; }>; fill: z.ZodOptional<z.ZodString>; layer: z.ZodString; uuid: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { end: [number, number]; layer: string; stroke: { type: string; width: number; }; center: [number, number]; fill?: string | undefined; uuid?: string | undefined; }, { end: [number, number]; layer: string; stroke: { type: string; width: number; }; center: [number, number]; fill?: string | undefined; uuid?: string | undefined; }>, "many">>; fp_polys: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{ pts: z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{ kind: z.ZodLiteral<"arc">; start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; mid: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; }, "strip", z.ZodTypeAny, { kind: "arc"; start: [number, number]; mid: [number, number]; end: [number, number]; }, { kind: "arc"; start: [number, number]; mid: [number, number]; end: [number, number]; }>]>, "many">; stroke: z.ZodOptional<z.ZodObject<{ width: z.ZodNumber; type: z.ZodString; }, "strip", z.ZodTypeAny, { type: string; width: number; }, { type: string; width: number; }>>; width: z.ZodOptional<z.ZodNumber>; layer: z.ZodString; uuid: z.ZodOptional<z.ZodString>; fill: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { layer: string; pts: ([number, number] | { kind: "arc"; start: [number, number]; mid: [number, number]; end: [number, number]; })[]; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }, { layer: string; pts: ([number, number] | { kind: "arc"; start: [number, number]; mid: [number, number]; end: [number, number]; })[]; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }>, MakeRequired<Omit<{ layer: string; pts: ([number, number] | { kind: "arc"; start: [number, number]; mid: [number, number]; end: [number, number]; })[]; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }, "width">, "stroke">, { layer: string; pts: ([number, number] | { kind: "arc"; start: [number, number]; mid: [number, number]; end: [number, number]; })[]; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }>, "many">>; pads: z.ZodArray<z.ZodObject<{ name: z.ZodString; pad_type: z.ZodEnum<["thru_hole", "smd", "np_thru_hole", "connect"]>; pad_shape: z.ZodEnum<["roundrect", "circle", "rect", "oval", "trapezoid", "custom"]>; at: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>; size: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; drill: z.ZodOptional<z.ZodPipeline<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodAny, "many">, z.ZodObject<{ oval: z.ZodDefault<z.ZodBoolean>; width: z.ZodOptional<z.ZodNumber>; height: z.ZodOptional<z.ZodNumber>; offset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>; }, "strip", z.ZodTypeAny, { oval: boolean; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }, { oval?: boolean | undefined; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }>]>, any[] | { oval: boolean; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }, number | any[] | { oval?: boolean | undefined; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }>, z.ZodObject<{ oval: z.ZodDefault<z.ZodBoolean>; width: z.ZodOptional<z.ZodNumber>; height: z.ZodOptional<z.ZodNumber>; offset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>; }, "strip", z.ZodTypeAny, { oval: boolean; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }, { oval?: boolean | undefined; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }>>>; layers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; roundrect_rratio: z.ZodOptional<z.ZodNumber>; chamfer_ratio: z.ZodOptional<z.ZodNumber>; solder_paste_margin: z.ZodOptional<z.ZodNumber>; solder_paste_margin_ratio: z.ZodOptional<z.ZodNumber>; clearance: z.ZodOptional<z.ZodNumber>; zone_connection: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>>; thermal_width: z.ZodOptional<z.ZodNumber>; thermal_gap: z.ZodOptional<z.ZodNumber>; uuid: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { at: [number, number] | [number, number, number]; size: [number, number]; name: string; pad_type: "thru_hole" | "smd" | "np_thru_hole" | "connect"; pad_shape: "custom" | "oval" | "roundrect" | "circle" | "rect" | "trapezoid"; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; drill?: { oval: boolean; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; } | undefined; chamfer_ratio?: number | undefined; solder_paste_margin?: number | undefined; solder_paste_margin_ratio?: number | undefined; clearance?: number | undefined; zone_connection?: 0 | 2 | 1 | undefined; thermal_width?: number | undefined; thermal_gap?: number | undefined; }, { at: [number, number] | [number, number, number]; size: [number, number]; name: string; pad_type: "thru_hole" | "smd" | "np_thru_hole" | "connect"; pad_shape: "custom" | "oval" | "roundrect" | "circle" | "rect" | "trapezoid"; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; drill?: number | any[] | { oval?: boolean | undefined; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; } | undefined; chamfer_ratio?: number | undefined; solder_paste_margin?: number | undefined; solder_paste_margin_ratio?: number | undefined; clearance?: number | undefined; zone_connection?: 0 | 2 | 1 | undefined; thermal_width?: number | undefined; thermal_gap?: number | undefined; }>, "many">; holes: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; pad_type: z.ZodEnum<["thru_hole", "smd", "np_thru_hole", "connect"]>; pad_shape: z.ZodEnum<["roundrect", "circle", "rect", "oval", "trapezoid", "custom"]>; at: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>; drill: z.ZodPipeline<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodAny, "many">, z.ZodObject<{ oval: z.ZodDefault<z.ZodBoolean>; width: z.ZodOptional<z.ZodNumber>; height: z.ZodOptional<z.ZodNumber>; offset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>; }, "strip", z.ZodTypeAny, { oval: boolean; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }, { oval?: boolean | undefined; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }>]>, any[] | { oval: boolean; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }, number | any[] | { oval?: boolean | undefined; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }>, z.ZodObject<{ oval: z.ZodDefault<z.ZodBoolean>; width: z.ZodOptional<z.ZodNumber>; height: z.ZodOptional<z.ZodNumber>; offset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>; }, "strip", z.ZodTypeAny, { oval: boolean; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }, { oval?: boolean | undefined; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }>>; size: z.ZodUnion<[z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, { width: number; height: number; }, number[]>, z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; }, "strip", z.ZodTypeAny, { width: number; height: number; }, { width: number; height: number; }>]>; layers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; roundrect_rratio: z.ZodOptional<z.ZodNumber>; uuid: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { at: [number, number] | [number, number, number]; size: { width: number; height: number; } | { width: number; height: number; }; name: string; pad_type: "thru_hole" | "smd" | "np_thru_hole" | "connect"; pad_shape: "custom" | "oval" | "roundrect" | "circle" | "rect" | "trapezoid"; drill: { oval: boolean; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; }, { at: [number, number] | [number, number, number]; size: number[] | { width: number; height: number; }; name: string; pad_type: "thru_hole" | "smd" | "np_thru_hole" | "connect"; pad_shape: "custom" | "oval" | "roundrect" | "circle" | "rect" | "trapezoid"; drill: number | any[] | { oval?: boolean | undefined; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { layer: string; footprint_name: string; descr: string; properties: { key: string; val: string; attributes: { at?: [number, number] | [number, number, number] | undefined; size?: [number, number] | undefined; layer?: string | undefined; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; }; }[]; fp_lines: MakeRequired<Omit<{ start: [number, number]; end: [number, number]; layer: string; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }, "width">, "stroke">[]; fp_texts: { at: [number, number] | [number, number, number]; layer: string; fp_text_type: "user"; text: string; effects: { font?: { size: [number, number]; thickness?: number | undefined; } | undefined; }; uuid?: string | undefined; }[]; fp_arcs: { start: [number, number]; mid: [number, number]; end: [number, number]; layer: string; stroke: { type: string; width: number; }; uuid?: string | undefined; }[]; pads: { at: [number, number] | [number, number, number]; size: [number, number]; name: string; pad_type: "thru_hole" | "smd" | "np_thru_hole" | "connect"; pad_shape: "custom" | "oval" | "roundrect" | "circle" | "rect" | "trapezoid"; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; drill?: { oval: boolean; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; } | undefined; chamfer_ratio?: number | undefined; solder_paste_margin?: number | undefined; solder_paste_margin_ratio?: number | undefined; clearance?: number | undefined; zone_connection?: 0 | 2 | 1 | undefined; thermal_width?: number | undefined; thermal_gap?: number | undefined; }[]; version?: string | undefined; generator?: string | undefined; generator_version?: string | undefined; tags?: string[] | undefined; fp_rects?: MakeRequired<Omit<{ start: [number, number]; end: [number, number]; layer: string; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }, "width">, "stroke">[] | undefined; fp_circles?: { end: [number, number]; layer: string; stroke: { type: string; width: number; }; center: [number, number]; fill?: string | undefined; uuid?: string | undefined; }[] | undefined; fp_polys?: MakeRequired<Omit<{ layer: string; pts: ([number, number] | { kind: "arc"; start: [number, number]; mid: [number, number]; end: [number, number]; })[]; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }, "width">, "stroke">[] | undefined; holes?: { at: [number, number] | [number, number, number]; size: { width: number; height: number; } | { width: number; height: number; }; name: string; pad_type: "thru_hole" | "smd" | "np_thru_hole" | "connect"; pad_shape: "custom" | "oval" | "roundrect" | "circle" | "rect" | "trapezoid"; drill: { oval: boolean; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; }[] | undefined; }, { layer: string; footprint_name: string; properties: { key: string; val: string; attributes: { at?: [number, number] | [number, number, number] | undefined; size?: [number, number] | undefined; layer?: string | undefined; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; }; }[]; fp_lines: { start: [number, number]; end: [number, number]; layer: string; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }[]; fp_texts: { at: [number, number] | [number, number, number]; layer: string; fp_text_type: "user"; text: string; effects: { font?: { size: [number, number]; thickness?: number | undefined; } | undefined; }; uuid?: string | undefined; }[]; fp_arcs: { start: [number, number]; mid: [number, number]; end: [number, number]; layer: string; stroke: { type: string; width: number; }; uuid?: string | undefined; }[]; pads: { at: [number, number] | [number, number, number]; size: [number, number]; name: string; pad_type: "thru_hole" | "smd" | "np_thru_hole" | "connect"; pad_shape: "custom" | "oval" | "roundrect" | "circle" | "rect" | "trapezoid"; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; drill?: number | any[] | { oval?: boolean | undefined; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; } | undefined; chamfer_ratio?: number | undefined; solder_paste_margin?: number | undefined; solder_paste_margin_ratio?: number | undefined; clearance?: number | undefined; zone_connection?: 0 | 2 | 1 | undefined; thermal_width?: number | undefined; thermal_gap?: number | undefined; }[]; version?: string | undefined; generator?: string | undefined; generator_version?: string | undefined; descr?: string | undefined; tags?: string[] | undefined; fp_rects?: { start: [number, number]; end: [number, number]; layer: string; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }[] | undefined; fp_circles?: { end: [number, number]; layer: string; stroke: { type: string; width: number; }; center: [number, number]; fill?: string | undefined; uuid?: string | undefined; }[] | undefined; fp_polys?: { layer: string; pts: ([number, number] | { kind: "arc"; start: [number, number]; mid: [number, number]; end: [number, number]; })[]; fill?: string | undefined; uuid?: string | undefined; width?: number | undefined; stroke?: { type: string; width: number; } | undefined; }[] | undefined; holes?: { at: [number, number] | [number, number, number]; size: number[] | { width: number; height: number; }; name: string; pad_type: "thru_hole" | "smd" | "np_thru_hole" | "connect"; pad_shape: "custom" | "oval" | "roundrect" | "circle" | "rect" | "trapezoid"; drill: number | any[] | { oval?: boolean | undefined; width?: number | undefined; height?: number | undefined; offset?: [number, number] | undefined; }; layers?: string[] | undefined; roundrect_rratio?: number | undefined; uuid?: string | undefined; }[] | undefined; }>; type KicadModJson = z.infer<typeof kicad_mod_json_def>; declare const parseKicadModToKicadJson: (fileContent: string) => KicadModJson; declare const parseKicadModToCircuitJson: (kicadMod: string) => Promise<AnyCircuitElement[]>; declare const convertKicadJsonToTsCircuitSoup: (kicadJson: KicadModJson) => Promise<AnyCircuitElement[]>; export { convertKicadJsonToTsCircuitSoup, parseKicadModToCircuitJson, parseKicadModToKicadJson };