/** * Schema validation helpers using Zod */ import { z } from 'zod'; export declare const LCSCPartNumberSchema: z.ZodString; /** * EasyEDA community component UUID validation * Format: 32-character hex string (case-insensitive, normalized to lowercase) */ export declare const EasyEDAUuidSchema: z.ZodEffects; /** * Component ID that accepts either LCSC part number or EasyEDA UUID */ export declare const ComponentIdSchema: z.ZodUnion<[z.ZodString, z.ZodEffects]>; /** * Safe path validation - prevents path traversal attacks */ export declare const SafePathSchema: z.ZodEffects, string, string>; export declare const PackageSchema: z.ZodString; export declare const PriceTierSchema: z.ZodObject<{ quantity: z.ZodNumber; price: z.ZodNumber; currency: z.ZodDefault; }, "strip", z.ZodTypeAny, { quantity: number; price: number; currency: string; }, { quantity: number; price: number; currency?: string | undefined; }>; export declare const ComponentSchema: z.ZodObject<{ lcscPartNumber: z.ZodString; manufacturerPart: z.ZodString; manufacturer: z.ZodString; description: z.ZodString; category: z.ZodString; subcategory: z.ZodString; package: z.ZodString; stock: z.ZodNumber; price: z.ZodArray; }, "strip", z.ZodTypeAny, { quantity: number; price: number; currency: string; }, { quantity: number; price: number; currency?: string | undefined; }>, "many">; datasheet: z.ZodOptional; }, "strip", z.ZodTypeAny, { price: { quantity: number; price: number; currency: string; }[]; lcscPartNumber: string; manufacturerPart: string; manufacturer: string; description: string; category: string; subcategory: string; package: string; stock: number; datasheet?: string | undefined; }, { price: { quantity: number; price: number; currency?: string | undefined; }[]; lcscPartNumber: string; manufacturerPart: string; manufacturer: string; description: string; category: string; subcategory: string; package: string; stock: number; datasheet?: string | undefined; }>; export declare const BoardSizeSchema: z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; unit: z.ZodDefault>; }, "strip", z.ZodTypeAny, { width: number; height: number; unit: "mm" | "inch"; }, { width: number; height: number; unit?: "mm" | "inch" | undefined; }>; export declare const PowerSourceSchema: z.ZodObject<{ type: z.ZodEnum<["usb", "battery", "dc_jack", "poe", "other"]>; voltage: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; current: z.ZodOptional; details: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "usb" | "battery" | "dc_jack" | "poe" | "other"; voltage: { min: number; max: number; }; current?: number | undefined; details?: string | undefined; }, { type: "usb" | "battery" | "dc_jack" | "poe" | "other"; voltage: { min: number; max: number; }; current?: number | undefined; details?: string | undefined; }>; export declare const DesignConstraintsSchema: z.ZodObject<{ boardSize: z.ZodOptional>; }, "strip", z.ZodTypeAny, { width: number; height: number; unit: "mm" | "inch"; }, { width: number; height: number; unit?: "mm" | "inch" | undefined; }>>; layers: z.ZodDefault; powerSource: z.ZodObject<{ type: z.ZodEnum<["usb", "battery", "dc_jack", "poe", "other"]>; voltage: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; current: z.ZodOptional; details: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "usb" | "battery" | "dc_jack" | "poe" | "other"; voltage: { min: number; max: number; }; current?: number | undefined; details?: string | undefined; }, { type: "usb" | "battery" | "dc_jack" | "poe" | "other"; voltage: { min: number; max: number; }; current?: number | undefined; details?: string | undefined; }>; interfaces: z.ZodArray; details: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: string; details?: string | undefined; count?: number | undefined; }, { type: string; details?: string | undefined; count?: number | undefined; }>, "many">; environment: z.ZodOptional; tempMax: z.ZodDefault; indoor: z.ZodDefault; certifications: z.ZodOptional>; }, "strip", z.ZodTypeAny, { tempMin: number; tempMax: number; indoor: boolean; certifications?: string[] | undefined; }, { tempMin?: number | undefined; tempMax?: number | undefined; indoor?: boolean | undefined; certifications?: string[] | undefined; }>>; manufacturingClass: z.ZodOptional; }, "strip", z.ZodTypeAny, { layers: number; powerSource: { type: "usb" | "battery" | "dc_jack" | "poe" | "other"; voltage: { min: number; max: number; }; current?: number | undefined; details?: string | undefined; }; interfaces: { type: string; details?: string | undefined; count?: number | undefined; }[]; boardSize?: { width: number; height: number; unit: "mm" | "inch"; } | undefined; environment?: { tempMin: number; tempMax: number; indoor: boolean; certifications?: string[] | undefined; } | undefined; manufacturingClass?: number | undefined; }, { powerSource: { type: "usb" | "battery" | "dc_jack" | "poe" | "other"; voltage: { min: number; max: number; }; current?: number | undefined; details?: string | undefined; }; interfaces: { type: string; details?: string | undefined; count?: number | undefined; }[]; boardSize?: { width: number; height: number; unit?: "mm" | "inch" | undefined; } | undefined; layers?: number | undefined; environment?: { tempMin?: number | undefined; tempMax?: number | undefined; indoor?: boolean | undefined; certifications?: string[] | undefined; } | undefined; manufacturingClass?: number | undefined; }>; export declare const KiCadPinTypeSchema: z.ZodEnum<["input", "output", "bidirectional", "power_in", "power_out", "passive", "unspecified", "open_collector", "open_emitter", "no_connect"]>; export declare const KiCadPadTypeSchema: z.ZodEnum<["thru_hole", "smd", "connect", "np_thru_hole"]>; export declare const KiCadPadShapeSchema: z.ZodEnum<["circle", "rect", "oval", "trapezoid", "roundrect", "custom"]>; export declare function validateLCSCPartNumber(partNumber: string): boolean; export declare function isLcscId(id: string): boolean; export declare function isEasyEDAUuid(id: string): boolean; export declare function validateComponent(component: unknown): boolean; export declare function validateDesignConstraints(constraints: unknown): boolean; export type ValidatedComponent = z.infer; export type ValidatedDesignConstraints = z.infer; //# sourceMappingURL=validation.d.ts.map