/** * Standard error codes for the EP package */ export declare enum EPErrorCode { STOCK_UNAVAILABLE = "STOCK_UNAVAILABLE", STOCK_INSUFFICIENT = "STOCK_INSUFFICIENT", STOCK_FETCH_FAILED = "STOCK_FETCH_FAILED", CART_INVALID_QUANTITY = "CART_INVALID_QUANTITY", CART_ITEM_INVALID = "CART_ITEM_INVALID", CART_ADD_FAILED = "CART_ADD_FAILED", PRODUCT_NOT_FOUND = "PRODUCT_NOT_FOUND", PRODUCT_NOT_BUNDLE = "PRODUCT_NOT_BUNDLE", PRODUCT_INVALID = "PRODUCT_INVALID", LOCATION_NOT_FOUND = "LOCATION_NOT_FOUND", LOCATION_FETCH_FAILED = "LOCATION_FETCH_FAILED", API_ERROR = "API_ERROR", NETWORK_ERROR = "NETWORK_ERROR", UNKNOWN_ERROR = "UNKNOWN_ERROR" } /** * Standardized error interface */ export interface EPError { code: EPErrorCode; message: string; details?: Record; timestamp: string; } /** * Creates a standardized EP error * @param code Error code * @param message Error message * @param details Optional additional details * @returns Standardized EP error */ export declare function createEPError(code: EPErrorCode, message: string, details?: Record): EPError; /** * Creates a stock-related error * @param message Error message * @param availableStock Available stock amount * @param requestedQuantity Requested quantity * @returns Stock error */ export declare function createStockError(message: string, availableStock: number, requestedQuantity: number): EPError; /** * Creates a cart validation error * @param message Error message * @param itemData Invalid item data * @returns Cart error */ export declare function createCartValidationError(message: string, itemData?: Record): EPError; /** * Handles and standardizes API errors * @param error Raw error from API call * @param context Context where error occurred * @returns Standardized EP error */ export declare function handleAPIError(error: unknown, context?: string): EPError; /** * Formats error message for user display * @param error EP error object * @returns User-friendly error message */ export declare function formatUserErrorMessage(error: EPError): string; /** * Checks if an error is user-recoverable * @param error EP error object * @returns True if user can potentially recover from this error */ export declare function isRecoverableError(error: EPError): boolean; /** * Logs error for debugging purposes * @param error EP error object * @param context Additional context for logging */ export declare function logError(error: EPError, context?: string): void; /** * Creates an error for missing form context * @param componentName Name of component missing form context * @returns Form context error */ export declare function createFormContextError(componentName: string): EPError;