/** * Catalog-specific validation and lookup errors. * * Follows the same pattern as src/circuit/errors.ts and src/schemas/common.ts. * * @module */ export declare const CatalogErrorCode: { readonly CATALOG_INVALID: "CATALOG_INVALID"; readonly CATALOG_SCHEMA_VERSION_MISMATCH: "CATALOG_SCHEMA_VERSION_MISMATCH"; readonly DEVICE_DUPLICATE_ID: "DEVICE_DUPLICATE_ID"; readonly DEVICE_MISSING_SYMBOL: "DEVICE_MISSING_SYMBOL"; readonly DEVICE_MISSING_FOOTPRINT: "DEVICE_MISSING_FOOTPRINT"; readonly DEVICE_MISSING_PIN_MAP: "DEVICE_MISSING_PIN_MAP"; readonly DEVICE_INCOMPATIBLE_PACKAGE: "DEVICE_INCOMPATIBLE_PACKAGE"; readonly DEVICE_MISSING_MPN: "DEVICE_MISSING_MPN"; readonly DEVICE_MISSING_ASSEMBLY_DATA: "DEVICE_MISSING_ASSEMBLY_DATA"; readonly DEVICE_DUPLICATE_SUPPLIER_ID: "DEVICE_DUPLICATE_SUPPLIER_ID"; readonly DEVICE_UNRESOLVED_SYMBOL: "DEVICE_UNRESOLVED_SYMBOL"; readonly DEVICE_UNRESOLVED_FOOTPRINT: "DEVICE_UNRESOLVED_FOOTPRINT"; readonly DEVICE_NOT_FOUND: "DEVICE_NOT_FOUND"; readonly DEVICE_RESOLUTION_FAILED: "DEVICE_RESOLUTION_FAILED"; }; export type CatalogErrorCode = (typeof CatalogErrorCode)[keyof typeof CatalogErrorCode]; export interface CatalogValidationError { code: CatalogErrorCode; message: string; /** Path to the field that caused the error (dot-notation) */ path?: string; /** Specific details for programmatic handling */ details?: Record; } export declare class CatalogError extends Error { readonly code: CatalogErrorCode; readonly errors: CatalogValidationError[]; readonly retryable: boolean; constructor(opts: { code: CatalogErrorCode; message: string; errors?: CatalogValidationError[]; retryable?: boolean; }); } /** * Create a single validation error. */ export declare function catalogValidationError(code: CatalogErrorCode, message: string, details?: Record): CatalogValidationError; /** * Build a list of CatalogValidationErrors from a Zod error. */ export declare function fromZodError(zodError: import('zod').ZodError, prefix?: string): CatalogValidationError[];